我有几个模板,我需要在其中编写星期几和月份的文字。我创建了一个小树枝文件:
{% set numDay = target.dateStop | date ("w", user_timezone) %}
{% set daysOfWeek = {0: 'Sunday', 1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday'} %}
{% set weekDay = daysOfWeek[numDay] %}
{% set numMonth = target.dateStop | date ("n", user_timezone) %}
{% set months = {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'} %}
{% set month = months[numMonth] %
在我需要这些值的模板中,我首先要包含“帮助器”模板
{% include '@.../Email/HTML/en_US/localized_day_and_month.twig' with [user_timezone] %}
然后只需使用变量
... {{ weekDay }} ...
我仍然收到此错误:
失败:第9行“... / HTML / it_IT:do_deadline_new.html.twig”中不存在变量“weekDay”
我知道我的“本地化日期问题”可能有更好的解决方案,但这不是我的观点
修改
我将第一个代码段移动到我在每个模板中继承的基类中,但这些变量似乎仍然被忽略:
base.html.twig
{% block dateTimeVariables %}
{% set numDay = target.dateStop | date ("w", user_timezone) %}
{% set daysOfWeek = {0: 'Domenica', 1: 'Lunedì', 2: 'Martedì', 3: 'Mercoledì', 4: 'Giovedì', 5: 'Venerdì', 6: 'Sabato'} %}
{% set weekDay = daysOfWeek[numDay] %}
{% set numMonth = target.dateStop | date ("n", user_timezone) %}
{% set months = {1: 'gennaio', 2: 'febbraio', 3: 'marzo', 4: 'aprile', 5: 'maggio', 6: 'giugno', 7: 'luglio', 8: 'agosto', 9: 'settembre', 10: 'ottobre', 11: 'novembre', 12: 'dicembre'} %}
{% set month = months[numMonth] %}
{% endblock %}
在子模板中:
{% extends '@.../Email/HTML/it_IT/base.html.twig' %}
然而:
失败:第6行“... / HTML / it_IT:do_deadline_new.html.twig”中不存在变量“weekDay”
第6行是:
[{{ group.name }}] Today at {{ target.created | date("H:i", user_timezone) }} {{ agent.name }} {{ agent.surname }} has created a file due on {{ weekDay | lower }} {{ target.dateStop | date ("d", user_timezone) }} {{ month }} at {{ target.dateStop | date ("H:i", user_timezone) }}.
答案 0 :(得分:0)
include语句包含一个模板,并将该文件的呈现内容返回到当前名称空间。
AFAIK只会呈现包含的文件,任何在包含文件中设置的变量都不会添加到父命名空间。
因此,请尝试使用extends。像这样:
<强> parent.twig 强>
{% set numDay = target.dateStop | date ("w", user_timezone) %}
{% set daysOfWeek = {0: 'Sunday', 1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday'} %}
{% set weekDay = daysOfWeek[numDay] %}
{% set numMonth = target.dateStop | date ("n", user_timezone) %}
{% set months = {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'} %}
{% set month = months[numMonth] %}
<强> child.twig 强>
{% extends 'parent.twig'%}