- New, deliberately separate pipeline for sub-solutions (markets and solutions must never break each other): generator vitec:generate-subsolution-workbooks (list from the page tree below /solutions, 39 workbooks, every sub-solution matched to its record), SubsolutionWorkbookImporter + CLI vitec:import-subsolution-workbooks, and a "Sub-Solutions" tab in the VITEC Import module with its own inbox migrations/subsolutions_xlsx_in/ - Targets the existing template 5 "Solution Detail" without changing it: hero element in colPos 1, the remaining sections in fixed order in colPos 0, found again by CType on re-import; existing empty sub-solution pages are switched to layout 5, missing ones created hidden; detail_page set on the solution record - Workbook per the Figma "07 Solution Detail page": hero without video teaser, intro with headline and without learn-more/portfolio, extended icon list, own page-layout reference image - Shared content elements: market hero/intro/insights relabelled "Market/Solution", market intro gains the optional intro_headline field (new column, requires extension:setup) - Fix: DataHandler puts every NEW record with a positive pid at the top of its column, so pages built in one run came out reversed. Both importers now track the page order per colPos and write tt_content.sorting explicitly after the DataHandler run; re-applying repairs pages imported earlier (verified on the control-room sub-solution and sub-market page 443) - migrations/fill_test_subsolution.php: realistic test content from vitec.com copy and images for the control-room sub-solution - Docs section 5z
24 lines
1.7 KiB
XML
24 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xliff version="1.2">
|
|
<file source-language="en" datatype="plaintext" original="messages">
|
|
<body>
|
|
<trans-unit id="title"><source>VITEC · Market/Solution Insights</source></trans-unit>
|
|
<trans-unit id="description"><source>Sub-market template, section 6: two paragraphs, optional CTA, optional video card with person.</source></trans-unit>
|
|
<trans-unit id="text1.label"><source>Paragraph 1</source></trans-unit>
|
|
<trans-unit id="text1.description"><source>Plain text, max ~250 characters.</source></trans-unit>
|
|
<trans-unit id="text2.label"><source>Paragraph 2</source></trans-unit>
|
|
<trans-unit id="text2.description"><source>Plain text, max ~250 characters.</source></trans-unit>
|
|
<trans-unit id="cta_label.label"><source>CTA label</source></trans-unit>
|
|
<trans-unit id="cta_label.description"><source>Empty = no button.</source></trans-unit>
|
|
<trans-unit id="cta_target.label"><source>CTA target</source></trans-unit>
|
|
<trans-unit id="cta_target.description"><source>Section anchor OR URL. Empty with a label set = /success-stories.</source></trans-unit>
|
|
<trans-unit id="video_person.label"><source>Person</source></trans-unit>
|
|
<trans-unit id="video_role.label"><source>Role / title</source></trans-unit>
|
|
<trans-unit id="video_title.label"><source>Video title</source></trans-unit>
|
|
<trans-unit id="video_url.label"><source>Video URL</source></trans-unit>
|
|
<trans-unit id="video_url.description"><source>Empty = no video card, text runs wider.</source></trans-unit>
|
|
<trans-unit id="video_cover.label"><source>Cover image</source></trans-unit>
|
|
</body>
|
|
</file>
|
|
</xliff>
|