验证是否在树枝模板中的数组中
Verify if is in array in twig template
我有个问题,可以在 twig 模板中制作 in_array 吗?
例如,我有一个名为 aColors 的数组,其中包含一种产品的颜色:
Array[
0 => "1"
1 => "2"
]
我在库文件夹中有一个 class:
class Colors{
public static $aColors = array(
'1' => 'White',
'2' => 'Black',
'3' => 'Yellow',
'4' => 'Red',
'5' => 'Green',
'6' => 'Blue',
);
}
现在我想验证带有产品颜色的数组的值是否=带有带有颜色的一般数组的键,我在 .twig 中尝试过:
{% for key,val in aColors %}
{% if val in Colors::aColors %}
{% endfor %}
但是不行。存在解决方案吗?请帮我。谁能帮我?提前致谢!!!
您正在与键进行比较,因此请使用
{% for key,val in aColors %}
{% if val in Colors::aColors|keys %}
{% endfor %}
Twig 无意 运行 任何 PHP 代码。这是 Twig 开发人员的官方立场:Twig 是一个模板引擎,它唯一做的就是模板化,它对 classes、静态 class 属性和其他 PHP 一无所知- 只有东西。您的选项是:
- 像往常一样将此数组作为全局或局部上下文变量传递(首选方式)。
- 创建一个扩展或 Twig 函数,它将在内部访问您的 class 属性(这违反了 Twig 原则,但有效,尽管我将使用我的另一行答案只是为了警告您不做).
我有个问题,可以在 twig 模板中制作 in_array 吗? 例如,我有一个名为 aColors 的数组,其中包含一种产品的颜色:
Array[
0 => "1"
1 => "2"
]
我在库文件夹中有一个 class:
class Colors{
public static $aColors = array(
'1' => 'White',
'2' => 'Black',
'3' => 'Yellow',
'4' => 'Red',
'5' => 'Green',
'6' => 'Blue',
);
}
现在我想验证带有产品颜色的数组的值是否=带有带有颜色的一般数组的键,我在 .twig 中尝试过:
{% for key,val in aColors %}
{% if val in Colors::aColors %}
{% endfor %}
但是不行。存在解决方案吗?请帮我。谁能帮我?提前致谢!!!
您正在与键进行比较,因此请使用
{% for key,val in aColors %}
{% if val in Colors::aColors|keys %}
{% endfor %}
Twig 无意 运行 任何 PHP 代码。这是 Twig 开发人员的官方立场:Twig 是一个模板引擎,它唯一做的就是模板化,它对 classes、静态 class 属性和其他 PHP 一无所知- 只有东西。您的选项是:
- 像往常一样将此数组作为全局或局部上下文变量传递(首选方式)。
- 创建一个扩展或 Twig 函数,它将在内部访问您的 class 属性(这违反了 Twig 原则,但有效,尽管我将使用我的另一行答案只是为了警告您不做).