Partpo中的Typo3 HMENU未显示

时间:2017-08-18 13:53:57

标签: typo3 typoscript fluid

我正在尝试在我的partials文件夹中创建一个标题,但实际上如果我尝试将其插入到我的模板中,它就不会出现。

我的setup.ts文件如下所示:

page = PAGE
page {
    200 = FLUIDTEMPLATE
    200 {
        file = fileadmin/private/templates/home/template.html
        partialRootPath = fileadmin/private/partials
        layoutRootPath = fileadmin/private/layouts/home
        ....

在我的Layout.html文件中,我尝试将Header部分包含在" test"部分中。如下:

<div>
    <f:render partial='Header' section='test' />        
</div>

标题部分文件的编写如下:

<f:section name="test">
<ul class="flexnav" data-breakpoint="800">
    <f:cObject typoscriptObjectPath="lib.navbar" />
</ul>

&#34; lib.navbar&#34;在我的object.ts文件中声明:

lib.navbar = HMENU
lib.navbar {
    entryLevel = 1
    1 = TMENU
    1 {
wrap = <ul class="test1"> | </ul>
NO = 1
expAll = 1
NO {
  wrapItemAndSub = <li> | </li>
  stdWrap.htmlSpecialChars = 1
  ATagTitle.field = title
}
ACT <.NO
ACT {
    wrapItemAndSub = <li class="active"> | </li>
  }
}

2 = TMENU
2 {
   expAll = 1
   wrap = <ul> | </ul>
NO {
   wrapItemAndSub = <li> | </li>
  }
}

我现在的问题是,我无法在模板中使用变量lib.navbar。它总是空的。有谁知道我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

您可以在partial中使用section<f:render />属性。

尝试使用:<f:render partial="Header" />并删除部分中的部分。

答案 1 :(得分:0)

您需要使用下面的f:section

<f:render section="test" />

<f:section name="test">
  <ul class="flexnav" data-breakpoint="800">
    <f:cObject typoscriptObjectPath="lib.navbar" />
  </ul>
</f:section>

答案 2 :(得分:0)

我尝试了您的示例 TYPO3 Developer ,我遇到以下异常: 在浏览器中:

在日志文件中:糟糕,发生了错误!代码:20170824201947e83f7738

  

2017年8月24日星期四20:19:25 +0200 [警报]请求=&#34; d6a9827573124&#34; component =&#34; TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler&#34;:糟糕,发生错误!代码:20170824201925a92fa27d - {&#34;例外&#34;:&#34; TYPO3Fluid \ Fluid \ View \ Exception \ InvalidSectionException:Section \&#34; test \&#34;不存在。在/opt/lampp/htdocs/typo3/vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php:253

我还尝试在布局文件中复制/粘贴该部分,但它也无法正常工作。