Initial Commit
This commit is contained in:
1 parent
4f495177e4
commit
b6d2142214
166 files changed
+13952
-178
No files matched your search
+89
@@ -0,0 +1,89 @@
|
||||
# =============================================================================
|
||||
# VITEC container content elements — self-contained JSON rendering
|
||||
# Children collected via Evomedien\Vitec\DataProcessing\ContainerChildrenProcessor
|
||||
# (exception-safe; returns [] on any error, never crashes the outer CE).
|
||||
# =============================================================================
|
||||
|
||||
tt_content.vitec_cols_50_50 = JSON
|
||||
tt_content.vitec_cols_50_50 {
|
||||
fields {
|
||||
id = INT
|
||||
id.field = uid
|
||||
type = TEXT
|
||||
type.field = CType
|
||||
colPos = INT
|
||||
colPos.field = colPos
|
||||
|
||||
categories = COA
|
||||
categories {
|
||||
10 = CONTENT
|
||||
10 {
|
||||
table = sys_category
|
||||
select {
|
||||
pidInList = root
|
||||
selectFields = sys_category.title
|
||||
join = sys_category_record_mm on sys_category_record_mm.uid_local = sys_category.uid
|
||||
where {
|
||||
field = uid
|
||||
wrap = AND sys_category_record_mm.tablenames = 'tt_content' AND sys_category_record_mm.uid_foreign=|
|
||||
}
|
||||
}
|
||||
renderObj = TEXT
|
||||
renderObj {
|
||||
field = title
|
||||
wrap = |###BREAK###
|
||||
}
|
||||
}
|
||||
stdWrap.split {
|
||||
token = ###BREAK###
|
||||
cObjNum = 1 |*|2|*| 3
|
||||
1 {
|
||||
current = 1
|
||||
stdWrap.wrap = |
|
||||
}
|
||||
2 {
|
||||
current = 1
|
||||
stdWrap.wrap = ,|
|
||||
}
|
||||
3 {
|
||||
current = 1
|
||||
stdWrap.wrap = |
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
appearance = JSON
|
||||
appearance {
|
||||
fields {
|
||||
layout = TEXT
|
||||
layout.field = layout
|
||||
frameClass = TEXT
|
||||
frameClass.field = frame_class
|
||||
spaceBefore = TEXT
|
||||
spaceBefore.field = space_before_class
|
||||
spaceAfter = TEXT
|
||||
spaceAfter.field = space_after_class
|
||||
}
|
||||
}
|
||||
|
||||
header = TEXT
|
||||
header.field = header
|
||||
subheader = TEXT
|
||||
subheader.field = subheader
|
||||
tx_vitec_bg_variant = TEXT
|
||||
tx_vitec_bg_variant.field = tx_vitec_bg_variant
|
||||
|
||||
items = JSON
|
||||
items {
|
||||
dataProcessing {
|
||||
10 = Evomedien\Vitec\DataProcessing\ContainerChildrenProcessor
|
||||
10.as = items
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tt_content.vitec_cols_33_33_33 =< tt_content.vitec_cols_50_50
|
||||
tt_content.vitec_cols_25_25_25_25 =< tt_content.vitec_cols_50_50
|
||||
tt_content.vitec_cols_66_33 =< tt_content.vitec_cols_50_50
|
||||
tt_content.vitec_cols_33_66 =< tt_content.vitec_cols_50_50
|
||||
@@ -0,0 +1,74 @@
|
||||
# =============================================================================
|
||||
# VITEC menus — Headless / JSON output
|
||||
#
|
||||
# Three menus are exposed at the page root of the JSON response:
|
||||
# - mainNavigation : full hierarchy from root, all visible pages
|
||||
# - footerMenu : curated, configured via site setting menu.footer.pageUids
|
||||
# - metaMenu : curated, configured via site setting menu.meta.pageUids
|
||||
#
|
||||
# Each menu uses friendsoftypo3/headless MenuProcessor which:
|
||||
# * resolves Shortcut pages to their target
|
||||
# * skips pages with "Show in menu = no" (nav_hide=1) by default
|
||||
# * marks active / current items
|
||||
# * exposes `children` for sub-levels
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Main navigation — full hierarchy
|
||||
# -----------------------------------------------------------------------------
|
||||
lib.mainNavigation = JSON
|
||||
lib.mainNavigation {
|
||||
dataProcessing {
|
||||
10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
levels = 10
|
||||
expandAll = 1
|
||||
includeSpacer = 0
|
||||
titleField = nav_title // title
|
||||
as = mainNavigation
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Footer menu — curated by site setting (UIDs)
|
||||
# -----------------------------------------------------------------------------
|
||||
lib.footerMenu = JSON
|
||||
lib.footerMenu {
|
||||
dataProcessing {
|
||||
10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = list
|
||||
special.value = {$menu.footer.pageUids}
|
||||
levels = 1
|
||||
includeSpacer = 0
|
||||
titleField = nav_title // title
|
||||
as = footerMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Meta menu — curated by site setting (UIDs)
|
||||
# -----------------------------------------------------------------------------
|
||||
lib.metaMenu = JSON
|
||||
lib.metaMenu {
|
||||
dataProcessing {
|
||||
10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = list
|
||||
special.value = {$menu.meta.pageUids}
|
||||
levels = 1
|
||||
includeSpacer = 0
|
||||
titleField = nav_title // title
|
||||
as = metaMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Wire them into the page-level JSON output
|
||||
# -----------------------------------------------------------------------------
|
||||
page.10.fields.mainNavigation =< lib.mainNavigation
|
||||
page.10.fields.footerMenu =< lib.footerMenu
|
||||
page.10.fields.metaMenu =< lib.metaMenu
|
||||
@@ -0,0 +1,3 @@
|
||||
# Test if we can add any field at all
|
||||
tt_content.list.fields.content.fields.testField = TEXT
|
||||
tt_content.list.fields.content.fields.testField.value = TEST VALUE FROM VITEC
|
||||
@@ -0,0 +1 @@
|
||||
plugin.tx_vitec.settings.layout = 0
|
||||
@@ -0,0 +1,74 @@
|
||||
plugin.tx_vitec_usecaseshow {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:vitec/Resources/Private/Templates/
|
||||
partialRootPaths.0 = EXT:vitec/Resources/Private/Partials/
|
||||
layoutRootPaths.0 = EXT:vitec/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
storagePid = 50
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_vitec_marketshow {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:vitec/Resources/Private/Templates/
|
||||
partialRootPaths.0 = EXT:vitec/Resources/Private/Partials/
|
||||
layoutRootPaths.0 = EXT:vitec/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
storagePid = 50
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_vitec_solutionshow {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:vitec/Resources/Private/Templates/
|
||||
partialRootPaths.0 = EXT:vitec/Resources/Private/Partials/
|
||||
layoutRootPaths.0 = EXT:vitec/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
storagePid = 50
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_vitec_usecaselist {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:vitec/Resources/Private/Templates/
|
||||
partialRootPaths.0 = EXT:vitec/Resources/Private/Partials/
|
||||
layoutRootPaths.0 = EXT:vitec/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
storagePid = 50
|
||||
}
|
||||
}
|
||||
plugin.tx_vitec_Prodcutlist {
|
||||
settings {
|
||||
# Map FlexForm settings to the controller
|
||||
layout = {$plugin.tx_vitec.settings.layout}
|
||||
}
|
||||
}
|
||||
plugin.tx_vitec_Prodcutlist {
|
||||
settings {
|
||||
categories = 1,2,3
|
||||
}
|
||||
}
|
||||
config.tx_extbase {
|
||||
persistence {
|
||||
classes {
|
||||
TYPO3\CMS\Extbase\Domain\Model\Category {
|
||||
subclass = Evomedien\Vitec\Domain\Model\Category
|
||||
}
|
||||
Evomedien\Vitec\Domain\Model\Category {
|
||||
mapping {
|
||||
tableName = sys_category
|
||||
recordType = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Include Headless configurations
|
||||
@import 'EXT:vitec/Configuration/TypoScript/Headless/*.typoscript'
|
||||
|
||||
|
||||
Reference in new issue
Block a user