Как я могу получить атрибуты, которые извлекаются для i18n в макросах ZPT? - PullRequest
0 голосов
/ 16 июня 2011

Я использую Pyramid с шаблонами ZPT для создания веб-приложения. Я пытаюсь создать библиотеку макросов шаблонов форм, чтобы упростить жизнь таким вещам, как установка текущих значений полей формы и т. Д. Я также использую экстракторы сообщений lingua для автоматического выбора строк для локализации. Однако я не могу понять, как заставить экстракторы работать с атрибутами в макросах. Например, скажем, у меня есть макрос, который выглядит так:

<tal:block metal:define-macro="text">
    <input type="text" name="${field}" value="${request.params.get(field) or default_value}"/>
</tal:block>

И я использую его в шаблоне страницы следующим образом:

<tal:block tal:define="field 'fred'; default_value _('initial value')" metal:use-macro="form.macros['text']"/>

Текст "начальное значение" не будет получен экстрактором сообщений. Есть ли способ сделать это? Я хотел бы сохранить строки внутри шаблона, если это возможно, я знаю, что мог бы обойти это, имея все строки для значений по умолчанию, сгенерированных в представлении, вызываемом. Может быть, есть лучший способ передачи значений в макросы для использования в атрибутах?

1 Ответ

0 голосов
/ 30 июня 2011

Вам нужно использовать [lingua] для версии 2 (или более поздней), чтобы извлечь сообщения из шаблонов, чтобы это работало.

...