0

Chameleon我在模板中有以下代码:

<span tal:repeat="menu view.site_menu">
    <tal:block tal:condition="menu.current">
        <span>${menu.title}</span>
    </tal:block>
    <tal:block tal:condition="not menu.current">
        <span><a href="/${menu.href}">${menu.title}</a></span>
    </tal:block>
    <tal:block tal:condition="not repeat/menu/end">
        <span> | </span>
    </tal:block>
</span>

当我尝试渲染此页面时,出现以下错误:

TypeError: unsupported operand type(s) for /: 'RepeatDict' and 'dict'
 - Expression: "not repeat/menu/end"
...

谁能看到我在这里做错了什么?

4

1 回答 1

0

我能够通过反复试验找到解决问题的方法。这是工作代码:

<span tal:repeat="menu view.site_menu">
    <tal:block tal:condition="menu.current">
        <span>${menu.title}</span>
    </tal:block>
    <tal:block tal:condition="not menu.current">
        <span><a href="/${menu.href}">${menu.title}</a></span>
    </tal:block>
    <tal:block tal:condition="not repeat.menu.end">
        <span tal:omit-tag="">|</span>
    </tal:block>
</span>

这可以按预期工作,并将分隔符放在每个菜单项之间,而不是放在最后。

我确定我以前尝试过这个,但它现在正在工作。

于 2014-01-27T00:47:59.227 回答