Теги 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
Другие вопросы по тегам