fix: render product detail pages on TYPO3 13

- ObjectManager replaced by GeneralUtility::makeInstance(), the
  services fetched that way are public
- QueryBuilder::add('orderBy') and the remaining execute() calls,
  detailAction returns a response
- PHP 8 warnings for missing array keys (same values as on PHP 7.4)
- Webcam images are external URLs: plain img tag, f:image only takes
  FAL files
- typo3_encore 7 needs the PKG:ssch/typo3-encore: prefix and
  external = 1 so TYPO3's path check does not drop the entry
- CDN image rewriting as a middleware instead of EXT:replacer, which
  is not PHP 8.5 clean; same pattern, only for page responses
- vhs 8 for the ViewHelpers the templates use
- OpenGraph meta tag manager skips the backend
- myEpUrl with trailing slash as in production

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
frommeandClaude Opus 5.5 committed 2026-10-21 14:34:10 +02:00
1 parent 4eb1de2e29
commit 34f2d55f2c
23 files changed
+222 -57

No files matched your search

Generated
+71 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "bb6164470dbc546b9cb0a9b2d31797f2",
"content-hash": "9de2907eea881944a362013a40f3cc7e",
"packages": [
{
"name": "b13/container",
@@ -976,6 +976,76 @@
},
"time": "2026-09-28T17:51:46+00:00"
},
{
"name": "fluidtypo3/vhs",
"version": "8.0.0",
"source": {
"type": "git",
"url": "https://github.com/FluidTYPO3/vhs.git",
"reference": "cdf53ec693d8a69a8b120d89b01aff2281b0b049"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FluidTYPO3/vhs/zipball/cdf53ec693d8a69a8b120d89b01aff2281b0b049",
"reference": "cdf53ec693d8a69a8b120d89b01aff2281b0b049",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^8.3",
"typo3/cms-backend": "^12 || ^13 || ^14.3 || dev-main",
"typo3/cms-core": "^12 || ^13 || ^14.3 || dev-main",
"typo3/cms-extbase": "^12 || ^13 || ^14.3 || dev-main",
"typo3/cms-fluid": "^12 || ^13 || ^14.3 || dev-main",
"typo3/cms-frontend": "^12 || ^13 || ^14.3 || dev-main"
},
"replace": {
"typo3-ter/vhs": "self.version"
},
"require-dev": {
"mikey179/vfsstream": "^1.6",
"phpstan/phpstan": "1.12.1",
"phpunit/phpunit": "^5.7 || ^9.5",
"squizlabs/php_codesniffer": "^3.7"
},
"suggest": {
"ext-json": "Enable use of v:format.json.encode and v:format.json.decode",
"ext-tidy": "Allows to make use of the tidy ViewHelper v:format.tidy",
"ext-zlib": "Enable use of v:format.placeholder.lipsum with default lipsum text"
},
"type": "typo3-cms-extension",
"extra": {
"typo3/cms": {
"extension-key": "vhs"
}
},
"autoload": {
"psr-4": {
"FluidTYPO3\\Vhs\\": "Classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-or-later"
],
"description": "This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.",
"homepage": "https://fluidtypo3.org",
"keywords": [
"TYPO3 CMS",
"fedext",
"fluid",
"templating",
"utility",
"viewhelper"
],
"support": {
"chat": "https://typo3.slack.com/archives/C79562JES",
"docs": "https://docs.typo3.org/p/fluidtypo3/vhs/main/en-us/",
"issues": "https://github.com/FluidTYPO3/vhs/issues",
"source": "https://github.com/FluidTYPO3/vhs"
},
"time": "2026-07-23T10:57:34+00:00"
},
{
"name": "guzzlehttp/guzzle",
"version": "8.3.0",