我覆盖Templates/Styles/TWB/Templates/Category/List.html
以使类别菜单的行为与简介包中的侧边栏菜单完全相同(仅当选择了主菜单时,子菜单才会显示)。
如果我添加静态模板“新闻样式Twitter Bootstrap(新闻)”我几乎就在那里,只有在选择了主要类别时才打开子类别并不困难(我需要大量的类别/子类别),但是当选择一个子时它也应该打开:
...
<f:if condition="{0:category.item.uid,1:category.item.uid} == {0:overwriteDemand.categories,1:category.children.{overwriteDemand.categories}.parent}">
<f:if condition="{category.children}">
<f:render section="categoryTree" arguments="{categories: category.children,overwriteDemand:overwriteDemand,class:''}" />
</f:if>
</f:if>
...
我不知道如何使用{overwriteDemand.categories}
作为匹配值的键...任何人都可以指出正确的语法
更新:我尝试将自定义ViewHelper应用为this post suggests,但使用TYPO3 V7.6.16时遇到错误should be compatible with TYPO3\CMS\Fluid\Core\ViewHelper\AbstractConditionViewHelper::render()
,因此无法尝试使用变量overwriteDemand.categories
以另一种方式......
答案 0 :(得分:0)
从TYPO3开始,可以动态访问流体中的变量。在此查看Whats New Slides:https://typo3.org/download/release-notes/whats-new/并在PDF中搜索“动态变量名称部件”。
在TYPO3 7中,“vhs”-Extension提供a ViewHelper来完成相同的工作,但将ViewHelper嵌套在复杂的f:if-condition中更加困难。如果可能,请尝试TYPO3 8.如果不可能,您可以编写自己的ViewHelper来解决这个逻辑问题。