我已经安装了radiant variables extension,所以现在我可以定义var like
<r:set_vars nav_pages="Tour: /tour | News: /news | Locations: /locations" />
我有意在导航片段中使用它,比如
<r:navigation urls="<r:puts value_for="vars[nav_pages]"/>">
<r:normal><li><a href="<r:path />"><r:title /></a></li></r:normal>
</r:navigation>
当然这不起作用,至少因为引用。有办法以某种方式实现这个吗?我真正需要的是一些常见的方法来使用变量,可以使用标签访问,作为一个片段参数。或者应该有一些方法来访问没有标签的变量?
答案 0 :(得分:0)
确实不可能像这样嵌套半径标签。有一种方法可以解决这个问题,即使用双标签。我已经成功地通过这种方式攻击了其他标签,如果它们是“双重”标签(<r:tag></r:tag>
i.o. <r:tag/>
),它们会接受来自另一个半径标签的参数
所以,随着黑客的到位,你可以做到这一点:
<r:navigation>
<r:normal><li><a href="<r:path />"><r:title /></a></li></r:normal>
<r:urls><r:puts value_for="vars[nav_pages]"/></r:urls>
</r:navigation>
这需要在这样的地方调用tag.expand
;
urls = tag.attr['urls'] || tag.expand