我正在尝试在我的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。它总是空的。有谁知道我在这里做错了什么?
答案 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
我还尝试在布局文件中复制/粘贴该部分,但它也无法正常工作。