Show success stories below the product lists, linked on the category
sys_category gains a story selection and a layout (Options tab, alongside the images field EXT:news puts there), so one editorial decision serves every product list that renders the category. ProductListJsonRenderer emits them beside the products in the 7.3 list envelope; each card carries forCategories - the product categories it came from - so the front end hides it with the same ?cat=/?subcat= filter it applies to the products. Stories are collected over the category and its descendants and deduplicated. Story links follow the existing rule (detail page's parent path plus slug, which SuccessStoryPathRewrite maps back), taking the page from the element's FlexForm or the new site setting vitec.storyDetailPid. Spec raised to 1.17 with clause 7.15.2.1; the header had been left at 1.12 although entries up to 1.15 already existed, so today's two entries were renumbered to 1.16 and 1.17.
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
RewriteEngine On
|
||||
RewriteBase /_frontend/
|
||||
|
||||
RewriteRule ^index\.html$ - [L]
|
||||
|
||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^ - [L]
|
||||
|
||||
RewriteRule ^ index.html [L]
|
||||
|
||||
# ── Cache headers ────────────────────────────────────────────────────────────
|
||||
|
||||
# index.html: never cache — always fetch fresh so the browser picks up
|
||||
# the latest hashed JS/CSS filenames after a deploy.
|
||||
<Files "index.html">
|
||||
Header set Cache-Control "no-store, no-cache, must-revalidate"
|
||||
Header set Pragma "no-cache"
|
||||
Header set Expires "0"
|
||||
</Files>
|
||||
|
||||
# Hashed assets (JS, CSS, fonts, images inside /assets/):
|
||||
# Vite appends a content hash to every filename, so these are immutable.
|
||||
# Cache them for 1 year — a new deploy produces new filenames automatically.
|
||||
<FilesMatch "\.(js|css|woff2?|ttf|eot|otf)$">
|
||||
Header set Cache-Control "public, max-age=31536000, immutable"
|
||||
</FilesMatch>
|
||||
RewriteEngine On
|
||||
RewriteBase /_frontend/
|
||||
|
||||
RewriteRule ^index\.html$ - [L]
|
||||
|
||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^ - [L]
|
||||
|
||||
RewriteRule ^ index.html [L]
|
||||
|
||||
# ── Cache headers ────────────────────────────────────────────────────────────
|
||||
|
||||
# index.html: never cache — always fetch fresh so the browser picks up
|
||||
# the latest hashed JS/CSS filenames after a deploy.
|
||||
<Files "index.html">
|
||||
Header set Cache-Control "no-store, no-cache, must-revalidate"
|
||||
Header set Pragma "no-cache"
|
||||
Header set Expires "0"
|
||||
</Files>
|
||||
|
||||
# Hashed assets (JS, CSS, fonts, images inside /assets/):
|
||||
# Vite appends a content hash to every filename, so these are immutable.
|
||||
# Cache them for 1 year — a new deploy produces new filenames automatically.
|
||||
<FilesMatch "\.(js|css|woff2?|ttf|eot|otf)$">
|
||||
Header set Cache-Control "public, max-age=31536000, immutable"
|
||||
</FilesMatch>
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<title>VITEC</title>
|
||||
<script type="module" crossorigin src="/_frontend/assets/index-CrOmtYLr.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/_frontend/assets/index-CrFFiPFX.css">
|
||||
<script type="module" crossorigin src="/_frontend/assets/index-BhQWo9uW.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/_frontend/assets/index-CQJ1iyvA.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="page"></div>
|
||||
|
||||
Reference in New Issue
Block a user