Files
VITEC-website/packages/vitec/Configuration/page.tsconfig
T
orascheandClaude Fable 5.1 4bc38b1760 Product content check as page content (vitec_productcheck)
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>
2026-11-12 11:34:59 +01:00

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
}
}