The product audit of public/product-check/ becomes data for the React frontend: new content element vitec_productcheck (plugin registration, wizard entry, TypoScript USER func) delivers under content.productcheck either the overview (every product with one {ok,count} check per field - hero, photos, og, video, teaser, subtitle, description, description2, highlights, capabilities, applications, features incl. icon count, resources, datasheets, solutions - plus per-field summary) or, with ?check=<uid>, the detail of one product (texts as stored HTML, images with original URL and 480px thumbnail, videos, feature cards with icons, resources, datasheets, solutions). ProductCheckService ports the PDO queries of the standalone page to Doctrine; the renderer is always USER_INT so the audit is never served from the page cache; check is excluded from the cHash. Migration adds the element to page 607 (/products/product-check). The standalone page stays untouched. Verified on DEV: overview 85 products in 0.13 s warm, detail 0.2-0.9 s, thumbnails resolve.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
179 lines
7.1 KiB
Plaintext
Executable File
179 lines
7.1 KiB
Plaintext
Executable File
# =============================================================
|
|
# VITEC Extension — page.tsconfig
|
|
# =============================================================
|
|
|
|
mod {
|
|
wizards.newContentElement.wizardItems.vitec {
|
|
header = VITEC
|
|
show = *
|
|
elements {
|
|
# -------- Extbase Plugins --------
|
|
productlist {
|
|
iconIdentifier = vitec-plugin-productlist
|
|
title = List of VITEC Products
|
|
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_productlist.description
|
|
tt_content_defValues {
|
|
CType = vitec_productlist
|
|
}
|
|
}
|
|
productfeature {
|
|
iconIdentifier = vitec-plugin-productlist
|
|
title = Featured Product Card
|
|
description = One product as the big featured card (sub-market template). All copy comes from the record.
|
|
tt_content_defValues {
|
|
CType = vitec_productfeature
|
|
}
|
|
}
|
|
productfinder {
|
|
iconIdentifier = vitec-plugin-productlist
|
|
title = Product Finder (filter data)
|
|
description = Delivers the product category hierarchy for the filter selects. Place once above the product lists - it renders no products itself.
|
|
tt_content_defValues {
|
|
CType = vitec_productfinder
|
|
}
|
|
}
|
|
productcheck {
|
|
iconIdentifier = vitec-plugin-productlist
|
|
title = Product Content Check (audit table)
|
|
description = Live audit of all product records - one row per product, one check per content field. Internal page /products/product-check.
|
|
tt_content_defValues {
|
|
CType = vitec_productcheck
|
|
}
|
|
}
|
|
productshow {
|
|
iconIdentifier = vitec-plugin-productshow
|
|
title = Show single VITEC Product
|
|
description = Either show a single product coming from a list, OR select a specific product in flexform
|
|
tt_content_defValues {
|
|
CType = vitec_productshow
|
|
}
|
|
}
|
|
usecaseshow {
|
|
iconIdentifier = vitec-plugin-usecaseshow
|
|
title = Show single VITEC Success Story
|
|
description = Shows a selected Success Story in a Card with different layouts
|
|
tt_content_defValues {
|
|
CType = vitec_usecaseshow
|
|
}
|
|
}
|
|
marketshow {
|
|
iconIdentifier = vitec-plugin-marketshow
|
|
title = Show single VITEC Market
|
|
description = Shows a selected Market in a Card with different layouts
|
|
tt_content_defValues {
|
|
CType = vitec_marketshow
|
|
}
|
|
}
|
|
solutionshow {
|
|
iconIdentifier = vitec-plugin-solutionshow
|
|
title = Show single VITEC Solution
|
|
description = Shows a selected Solution in a Card with different layouts
|
|
tt_content_defValues {
|
|
CType = vitec_solutionshow
|
|
}
|
|
}
|
|
usecaselist {
|
|
iconIdentifier = vitec-plugin-usecaselist
|
|
title = Show all VITEC Success Stories
|
|
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_usecaselist.description
|
|
tt_content_defValues {
|
|
CType = vitec_usecaselist
|
|
}
|
|
}
|
|
downloadcard {
|
|
iconIdentifier = vitec-plugin-downloadcard
|
|
title = Downloadcard for single Download
|
|
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_usecaselist.description
|
|
tt_content_defValues {
|
|
CType = vitec_downloadcard
|
|
}
|
|
}
|
|
downloadcardcollection {
|
|
iconIdentifier = vitec-plugin-downloadcardcollection
|
|
title = Downloadcard Collection
|
|
description = Multiple Downloads in one Card
|
|
tt_content_defValues {
|
|
CType = vitec_downloadcardcollection
|
|
}
|
|
}
|
|
datasheets {
|
|
iconIdentifier = vitec-plugin-datasheets
|
|
title = VITEC Datasheets
|
|
description = Interactive datasheets with filtering and download functionality
|
|
tt_content_defValues {
|
|
CType = vitec_datasheets
|
|
}
|
|
}
|
|
eventlist {
|
|
iconIdentifier = vitec-plugin-eventlist
|
|
title = VITEC Event List
|
|
description = Upcoming VITEC events (trade shows) with date, venue, booth and links
|
|
tt_content_defValues {
|
|
CType = vitec_eventlist
|
|
}
|
|
}
|
|
simplecard {
|
|
iconIdentifier = vitec-plugin-simplecard
|
|
title = Simple Card
|
|
description = Simple Card (Image, Title, Text, Link)
|
|
tt_content_defValues {
|
|
CType = vitec_simplecard
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
wizards.newContentElement.wizardItems.vitec_custom_components {
|
|
header = Custom Components
|
|
show = *
|
|
}
|
|
}
|
|
|
|
tx_news.templateLayouts {
|
|
1 = Compact List
|
|
2 = Featured Story
|
|
3 = Editorial Grid
|
|
4 = Detail Spotlight
|
|
}
|
|
|
|
############################################################
|
|
# Backend Previews für klassische Plugins (list_type)
|
|
############################################################
|
|
|
|
mod.web_layout.tt_content.preview {
|
|
simplecard = EXT:vitec/Resources/Private/Templates/Simplecard/Backendpreview.html
|
|
vitec_downloadcard = EXT:vitec/Resources/Private/Templates/Downloadcard/Backendpreview.html
|
|
vitec_downloadcardcollection = EXT:vitec/Resources/Private/Templates/Downloadcardcollection/Backendpreview.html
|
|
# vitec_usecaseshow = EXT:vitec/Resources/Private/Templates/Usecaseshow/Backendpreview.html
|
|
# ^ Pfad anpassen wenn das Template existiert, dann Kommentar entfernen
|
|
}
|
|
|
|
# Hinweis: Content-Blocks-Previews werden automatisch aus
|
|
# packages/vitec/ContentBlocks/ContentElements/<n>/templates/backend-preview.html geladen.
|
|
# Keine separate Registrierung nötig.
|
|
|
|
############################################################
|
|
# Link browser: record links to VITEC domain models.
|
|
# Stored as t3://record?identifier=download|product&uid=N -
|
|
# frontend resolution lives in setup.typoscript (config.recordLinks).
|
|
############################################################
|
|
|
|
TCEMAIN.linkHandler {
|
|
download {
|
|
handler = TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler
|
|
label = Download
|
|
configuration {
|
|
table = tx_vitec_domain_model_download
|
|
}
|
|
displayAfter = file
|
|
}
|
|
product {
|
|
handler = TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler
|
|
label = Product
|
|
configuration {
|
|
table = tx_vitec_domain_model_product
|
|
}
|
|
displayAfter = download
|
|
}
|
|
}
|