the customer workflow in mind: the customer fills one XLSX per sub-market, an importer builds the page). - Frontend layout 21 'Sub-Market Page' in the existing BackendLayoutDataProvider: six zones, one per Figma section, emitted as colPos110..colPos160 - the JSON groups plus appearance.layout are the front-end contract (spec clause 7.17). A first attempt via page-TSconfig BackendLayouts was the wrong mechanism next to the provider and was removed again - New Content Blocks vitec_markethero, vitec_marketintro, vitec_marketinsights (field bags, serialized unprefixed under data); the workflow section reuses intro-paragraph + vitec_card flip cards - Stories gained quote/quote_person/quote_role (Testimonial tab), maintained once per story, emitted on every story card; usecaselist gained the layout value 'testimonials' - New plugin vitec_productfeature: one referenced product as a full product card, serialisation shared with the product list (cObj made protected for the subclass) - vitec_productlist gained hand-picked product selection: exactly the chosen products in the editor's order, category filter ignored, visibility filters kept - closes the long-standing single-select gap - New CLI vitec:generate-submarket-workbooks: one protected customer XLSX per sub-market (9 main markets, 25 sub-markets from the Market category tree) - dropdowns filled live from the database, named ranges as the importer contract, hidden Meta sheet pinning submarket/group/ record uid, soft character-limit warnings, asset URL fields Verified end to end on Broadcast & Media: layout-21 payload with colPos110 carrying the hero element and its subline. Spec raised to v1.20.
171 lines
6.7 KiB
Plaintext
Executable File
171 lines
6.7 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
|
|
}
|
|
}
|
|
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
|
|
}
|
|
}
|