我尝试使用TYPO3 8中的数据处理器来制作我的菜单。
我的TypoScript脚本中有这段代码:
page = PAGE
page{
10 = FLUIDTEMPLATE
10 {
file = fileadmin/abis/templates/BootstrapTmpl.html
partialRootPath = fileadmin/abis/Partials/
layoutRootPath = fileadmin/abis/Layouts/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
entryLevel= 0
excludeUidList = 27,30,31
levels = 5
#includeSpacer = 1
titleField = nav_title // title
as = huhu
}
}
...
}
这一节在一节中:
<f:section name="myMenu" >
<f:debug title="title">{huhu}</f:debug>
<f:cObject typoscriptObjectPath="obj.logo" />
<ul class="nav navbar-nav navbar-left">
<f:for each="{huhu}" as="menuItem">
<li>
{menuItem.text}
<f:if condition="menuItem.subItems">
<f:render section="myMenu" arguments="{myMenu: menuItem.subItems}" />
</f:if>
</li>
</f:for>
</ul>
</f:section>
我的HTML输出为空。变量{huhu}为空。而且我不知道为什么。有人有想法吗?
答案 0 :(得分:7)
尝试将您的dataProcessing放入page.10
:
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
file = fileadmin/abis/templates/BootstrapTmpl.html
partialRootPath = fileadmin/abis/Partials/
layoutRootPath = fileadmin/abis/Layouts/
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
entryLevel= 0
excludeUidList = 27,30,31
levels = 5
#includeSpacer = 1
titleField = nav_title // title
as = huhu
}
}
}
}
答案 1 :(得分:4)
首先,“dataProcessing”必须在page.10内完成。第二,你必须在“f:render”标签中将你的论点提交给你的部分。不知道你是否这样做,因为你的示例代码中缺少那部分。
答案 2 :(得分:0)
我有一个类似的问题,我的打字稿代码是正确的。但是,我忘记添加
arguments="{_all}"
致电
<f:render partial="header" arguments="{_all}" />
在我的布局中。
您也可以在Partial中使用<f:debug>{huhu}</f:debug>
,如果huhu为null,则可能已经忘记了arguments="{_all}"
。