Как условно добавить атрибут id в TAL (PHPTAL)?

Я создаю файл шаблона элементов формы в PHPTAL. Я хотел бы иметь возможность ФАКУЛЬТАТИВНО передать атрибут id для поля ...

Пока код выглядит так:

<xml>
  <tal:block metal:define-macro="text">
    <label tal:condition="php: !isset(hideLabel) || isset(hideLabel) && !hideLabel">${field/label}</label>
    <input name="${name}" type="text" value="${field/value}" />
    <p tal:condition="exists:field/error">${field/error}</p>
  </tal:block>
</xml>

Это работает, как рекламируется. Я бы хотел добавить что-то вроде

<input name="${name}" tal:attributes="id exists: id $id | $name" value="${field/value}" />

, чтобы я мог при желании передать идентификатор из вызова METAL ...

Должен ли я сделать это по-другому? Я пробовал использовать PHP: isset (id)? $ id: NULL и их варианты, но в конечном итоге в HTML-коде просто id = "0" .

Есть идеи?

8
задан Martijn Pieters 19 December 2013 в 16:38
поделиться