Теги Raduis - передайте переменную как параметр тега
Я установил расширение переменных радианта, так что теперь я могу определить переменную как
<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>
конечно, это не будет работать, по крайней мере, из-за кавычек. Есть ли способ как-то это реализовать? что мне действительно нужно, так это какой-то распространенный способ использования переменной, доступной через тег, в качестве аргумента фрагмента. Или должен быть какой-то способ доступа к переменной без тега?
1 ответ
Это действительно невозможно вложить теги радиуса, как это. Есть один способ обойти это, используя двойные теги. Я успешно взломал другие теги таким образом, заставляя их принимать параметры из другого тега радиуса, если они являются "двойными" тегами (<r:tag></r:tag>
И.О. <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