phptal: как мне повторно добавлять атрибуты?

У меня есть вопрос о шаблоне phptal, у меня есть ассоциативный массив, который содержит информацию об атрибутах HTML, например.

attrs['href'] = 'www.google.com';
attrs['id'] = 'the_link';
...

Есть ли способ использовать «повтор» для циклического перебора моего массива и динамического создания атрибутов? (Я умею это делать статически)

так что я могу иметь

<a href="www.google.com" id="the_link">abc</a>

person James Lin    schedule 07.09.2010    source источник


Ответы (2)


К сожалению, в TAL нет конструкции для этого. Вам понадобятся фиксированные атрибуты:

tal:attributes="href attrs/href | nothing; id attrs/id | nothing"

или создайте тег самостоятельно:

 ${structure php:generate_tag(attrs)}
person Kornel    schedule 07.09.2010
comment
$ {structure php: generate_tag (attrs)} куда мне поместить эту строку? Я пробовал это: ‹input type = text $ {structure php: render_input_attributes (field)}› ‹/input›, и это не удалось - person James Lin; 17.09.2010
comment
Поместите это вне тега. Он должен выводить полный тег в старом стиле PHP. - person Kornel; 28.09.2010

Ответ правильный - вы не можете "перебирать атрибуты"

И я знаю, что это старый поток - но не могли бы вы просто использовать tal:attributes - похоже, что он предназначен именно для этого автоматически. (См. http://phptal.org/manual/en/#tal-attributes )

<a tal:attributes="attrs">abc</a>
person Chris    schedule 31.03.2012