Real JSON null for empty product feature; SSR warm-cache button and CLI
Ticket 0068-FE: ProductFeatureJsonRenderer returned json_encode(null), which headless passes on as the STRING null (it only decodes object/array-looking strings) and crashed the front end. It now returns an empty string and the TypoScript field sets ifEmptyReturnNull = 1, giving a real JSON null. No other renderer used the pattern. Ticket 0066-FE: SsrPurgeService::warm() posts to the node /__warm endpoint (derived from SSR_PURGE_ENDPOINT, same secret), exposed as a Warm cache button with confirmation in the VITEC SSR module, a Cache warming progress row fed by /__health, and the CLI vitec:ssr-warm [paths]. Warm runs are deliberately not written to the purge log. Verified: two-path run 2/2 done, affected page delivers productfeature null. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This commit is contained in:
1 parent
cb53ff67ee
commit
8f8ae039d4
7 files changed
+176
-3
No files matched your search
@@ -147,6 +147,10 @@ return [
|
||||
'target' => \Evomedien\Vitec\Controller\Backend\SsrController::class . '::purgeAction',
|
||||
'methods' => ['POST'],
|
||||
],
|
||||
'warm' => [
|
||||
'target' => \Evomedien\Vitec\Controller\Backend\SsrController::class . '::warmAction',
|
||||
'methods' => ['POST'],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -77,6 +77,9 @@ tt_content {
|
||||
fields {
|
||||
productfeature = USER
|
||||
productfeature.userFunc = Evomedien\Vitec\UserFunc\ProductFeatureJsonRenderer->render
|
||||
# No product selected/visible -> real JSON null, not
|
||||
# the string "null" (ticket 0068-FE).
|
||||
productfeature.ifEmptyReturnNull = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user