使用TYPO3的数据处理器8

时间:2017-09-27 15:24:28

标签: typo3 typoscript fluid typo3-8.7.x

我尝试使用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}为空。而且我不知道为什么。有人有想法吗?

3 个答案:

答案 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}"