Add evo_megamenu_json extension and seed the megamenu
- new project-neutral extension evo_megamenu_json (Evomedien): a Megamenu plugin holding entries, columns, items, teaser cards and a featured slot as nested records; presentation settings travel with the payload so the front end reads behaviour instead of hard-coding it; published as page.10.fields.megaMenu, driven by the site settings megamenu.contentUid and megamenu.storagePid - vitec:seed-megamenu fills one element from the live structure: 5 entries, 26 columns, 95 items, 4 story cards; items without a page yet are flagged pending so the front end falls back to the column link - vitec:debug-sets prints the resolved site set order - read-only diagnostics: check_megamenu_schema.php, check_typoscript_templates.php - docs: schema updates run via extension:setup (database:updateschema no longer exists in v14), and a JSON Accept header activates headless-mixed, which strips every set-added page field
This commit is contained in:
169
packages/evo_megamenu_json/Configuration/FlexForms/Megamenu.xml
Normal file
169
packages/evo_megamenu_json/Configuration/FlexForms/Megamenu.xml
Normal file
@@ -0,0 +1,169 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<!--
|
||||
Presentation settings for one megamenu. Everything here is emitted as
|
||||
`settings` in the JSON so the front end reads the behaviour from the
|
||||
payload instead of hard-coding it.
|
||||
-->
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
|
||||
<sContent>
|
||||
<ROOT>
|
||||
<sheetTitle>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.sheet.content</sheetTitle>
|
||||
<el>
|
||||
<settings.stage>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.stage</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.stage.description</description>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<default>3</default>
|
||||
<items>
|
||||
<numIndex index="0">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.stage.1</label>
|
||||
<value>1</value>
|
||||
</numIndex>
|
||||
<numIndex index="1">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.stage.2</label>
|
||||
<value>2</value>
|
||||
</numIndex>
|
||||
<numIndex index="2">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.stage.3</label>
|
||||
<value>3</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.stage>
|
||||
|
||||
<settings.pendingBehaviour>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.pendingBehaviour</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.pendingBehaviour.description</description>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<default>fallback</default>
|
||||
<items>
|
||||
<numIndex index="0">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.pendingBehaviour.fallback</label>
|
||||
<value>fallback</value>
|
||||
</numIndex>
|
||||
<numIndex index="1">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.pendingBehaviour.mute</label>
|
||||
<value>mute</value>
|
||||
</numIndex>
|
||||
<numIndex index="2">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.pendingBehaviour.hide</label>
|
||||
<value>hide</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.pendingBehaviour>
|
||||
|
||||
<settings.showCounts>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.showCounts</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.showCounts.description</description>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<renderType>checkboxToggle</renderType>
|
||||
<default>1</default>
|
||||
</config>
|
||||
</settings.showCounts>
|
||||
|
||||
<settings.showViewAll>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.showViewAll</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<renderType>checkboxToggle</renderType>
|
||||
<default>1</default>
|
||||
</config>
|
||||
</settings.showViewAll>
|
||||
|
||||
<settings.viewAllLabel>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.viewAllLabel</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.viewAllLabel.description</description>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
<default>View all %s</default>
|
||||
</config>
|
||||
</settings.viewAllLabel>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sContent>
|
||||
|
||||
<sBehaviour>
|
||||
<ROOT>
|
||||
<sheetTitle>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.sheet.behaviour</sheetTitle>
|
||||
<el>
|
||||
<settings.openOn>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.openOn</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.openOn.description</description>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<default>hover</default>
|
||||
<items>
|
||||
<numIndex index="0">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.openOn.hover</label>
|
||||
<value>hover</value>
|
||||
</numIndex>
|
||||
<numIndex index="1">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.openOn.click</label>
|
||||
<value>click</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.openOn>
|
||||
|
||||
<settings.closeDelay>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.closeDelay</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.closeDelay.description</description>
|
||||
<config>
|
||||
<type>number</type>
|
||||
<size>8</size>
|
||||
<default>140</default>
|
||||
<range>
|
||||
<lower>0</lower>
|
||||
<upper>1000</upper>
|
||||
</range>
|
||||
</config>
|
||||
</settings.closeDelay>
|
||||
|
||||
<settings.columnsPerRow>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.columnsPerRow</label>
|
||||
<description>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.columnsPerRow.description</description>
|
||||
<config>
|
||||
<type>number</type>
|
||||
<size>8</size>
|
||||
<default>4</default>
|
||||
<range>
|
||||
<lower>2</lower>
|
||||
<upper>6</upper>
|
||||
</range>
|
||||
</config>
|
||||
</settings.columnsPerRow>
|
||||
|
||||
<settings.panelWidth>
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.panelWidth</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<default>container</default>
|
||||
<items>
|
||||
<numIndex index="0">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.panelWidth.container</label>
|
||||
<value>container</value>
|
||||
</numIndex>
|
||||
<numIndex index="1">
|
||||
<label>LLL:EXT:evo_megamenu_json/Resources/Private/Language/locallang_db.xlf:flexform.panelWidth.full</label>
|
||||
<value>full</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.panelWidth>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sBehaviour>
|
||||
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
Reference in New Issue
Block a user