The 2026-11-02 menu build created the 3 categories and 9 sub-categories
as sysfolders (labels); every level must be a clickable page.
- build-product-overviews: six sub-categories adopt the 2026-10 category
pages (Joe's workbooks; content, slug and SEO kept, sitemap name as
nav_title), the remaining folders become pages with generated content,
Capture & Graphics gets the main column of Graphics & Multi-Display and
Video Capture copied in. Pages move/convert by direct UPDATE (the
redirects slug hook would rewrite the flat child slugs); three 2026-10
pages leave the menus but stay reachable. Warns about a sys_redirect
on a target slug.
- ProvideProductCatalog: categories[].link and groups[].link (additive),
menu title = nav_title when set, only filled groups/categories count.
The menu search reads both levels as pages too.
- build-why-vitec-bands: band at the top of the main column; on pages
with an existing "Why VITEC?" section the context's icons go onto the
cards whose title matches the icon theme (16 icons on 4 pages).
- No browser cache headers on the page JSON: headless enables
sendCacheHeaders and TYPO3 14 caches pages for a year by default, so
every /_json/ response carried max-age=~31536000.
- Spec v1.32.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rebuild the product section after the agency sitemap and menu prototype
of 2026-11-02:
- vitec:build-product-overviews builds sysfolder labels (3 categories,
9 groups) below /products with 20 overview pages /products/<slug>
(layout 9: hero, intro per group, product cards, contact CTA) and two
menu shortcuts. Dry-run by default, idempotent, explicit sorting.
- ProvideProductCatalog reads that page tree and emits catalog version 2:
categories[].groups[].items[] of type page (productCount, products,
image) or shortcut (target indices), plus viewAll, news and search.
- Transitional v1 fields (groups[].products/link/uid, categories[].uid/
link, product teaser) keep the deployed front end alive; it read the
v1 shape and rendered a white page without them. Remove once the
front end reads items.
- ProvideInsightsSpotlight::latestNews() is public with a count.
- Product type-ahead (type 7385) adds matching overview pages and a
per-product overview with its menu path.
- Spec v1.28.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- evo_megamenu_json stays project-neutral: new panel layout "catalog";
for such entries the MenuBuilder dispatches the new PSR-14 event
BuildCatalogEvent and emits whatever a listener sets as `catalog`
(null without a listener). The entry's teaser cards serve as the
featured tiles; the teaser inline field now also shows for "catalog",
and the entry form reloads when the layout changes. README section
"Layout catalog"
- VITEC listener ProvideProductCatalog fills it, modelled on the Ross
Video products menu: main categories below the "Product" root, their
subcategories as groups, products with a plain-text one-line teaser;
same visibility rules as the product list, Product Finder links
(/products?cat=&subcat=), empty categories and groups left out, three
queries for the whole catalog
- Product type-ahead GET /_json/?type=7385&q= (USER_INT page type,
ProductMenuSearchJsonRenderer): Solr restricted to products, last term
completed as a prefix, up to six product cards plus their titles as
autocomplete suggestions; endpoint announced in catalog.search
- Spec v1.23 (clause 7.16: product type-ahead)