带有动态 uid 的 TYPO3 MenuProcessor
TYPO3 MenuProcessor with dynamic uid
我想在我的流体模板中使用 MenuProcessor 动态。
在 TypoScript 中配置,我想用 cObject ViewHelper 调用它并将页面的 uid 传递给它:
{f:cObject(typoscriptObjectPath: 'lib.menuTest', data:{menuId:'28'})}
这是我试过的 - 它应该是一个 special = directory
和 special.value = XXXXXX
中给定的 uid。
lib {
menuTest = FLUIDTEMPLATE
menuTest {
templateName = MenuTest
templateRootPaths {
10 = EXT:hatemplate/Resources/Private/Templates/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = directory
special.value = XXXXXX
levels = 1
as = menuItems
}
}
}
}
如果我直接设置一个 uid 就可以了,但我不知道如何插入变量。有人有提示或可行的解决方案吗?
谢谢
我已经在一个对 TypoScript 更有经验的朋友的帮助下解决了。
我并没有我想的那么错。
这是 TypoScript 中的代码。我为将来添加了模板、布局和部分路径 copy/pasting :) :
lib {
menuDirectory = FLUIDTEMPLATE
menuDirectory {
templateName = MenuDirectory
layoutRootPaths {
10 = EXT:hatemplate/Resources/Private/Layouts/
}
templateRootPaths {
10 = EXT:hatemplate/Resources/Private/Templates/
}
partialRootPaths {
10 = EXT:hatemplate/Resources/Private/Partials/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = directory
special.value.field = menuId
levels = 1
as = directory
}
}
}
}
通过此配置,您可以像这样使用 f:cObject
ViewHelper:
<f:cObject typoscriptObjectPath="lib.menuDirectory" data="{menuId:1}" />
或内联
{f:cObject(typoscriptObjectPath: 'lib.menuDirectory', data:{menuId:1})}
这会将项目渲染到流体模板中:
我想在我的流体模板中使用 MenuProcessor 动态。
在 TypoScript 中配置,我想用 cObject ViewHelper 调用它并将页面的 uid 传递给它:
{f:cObject(typoscriptObjectPath: 'lib.menuTest', data:{menuId:'28'})}
这是我试过的 - 它应该是一个 special = directory
和 special.value = XXXXXX
中给定的 uid。
lib {
menuTest = FLUIDTEMPLATE
menuTest {
templateName = MenuTest
templateRootPaths {
10 = EXT:hatemplate/Resources/Private/Templates/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = directory
special.value = XXXXXX
levels = 1
as = menuItems
}
}
}
}
如果我直接设置一个 uid 就可以了,但我不知道如何插入变量。有人有提示或可行的解决方案吗?
谢谢
我已经在一个对 TypoScript 更有经验的朋友的帮助下解决了。
我并没有我想的那么错。
这是 TypoScript 中的代码。我为将来添加了模板、布局和部分路径 copy/pasting :) :
lib {
menuDirectory = FLUIDTEMPLATE
menuDirectory {
templateName = MenuDirectory
layoutRootPaths {
10 = EXT:hatemplate/Resources/Private/Layouts/
}
templateRootPaths {
10 = EXT:hatemplate/Resources/Private/Templates/
}
partialRootPaths {
10 = EXT:hatemplate/Resources/Private/Partials/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = directory
special.value.field = menuId
levels = 1
as = directory
}
}
}
}
通过此配置,您可以像这样使用 f:cObject
ViewHelper:
<f:cObject typoscriptObjectPath="lib.menuDirectory" data="{menuId:1}" />
或内联
{f:cObject(typoscriptObjectPath: 'lib.menuDirectory', data:{menuId:1})}
这会将项目渲染到流体模板中: