0
我使用金字塔與ZPT模板來製作一個網絡應用程序。我正在嘗試製作表單模板宏庫,以使設置表單字段的當前值等工作更輕鬆。我還使用通用消息提取程序自動爲本地化選擇字符串。我無法弄清楚如何使提取器在宏標籤上的屬性工作。例如,假設我有一個宏,看起來像這樣:如何獲得在ZPT宏中爲i18n提取的屬性?
<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']"/>
文本「初始值」將不會回升通過消息提取器。有沒有辦法做到這一點?如果可能的話,我想保留模板內的字符串,我知道我可以通過讓視圖中生成的默認值的所有字符串可調用來解決此問題。也許有更好的方法將值傳遞給宏以用於屬性?