У меня есть вопрос, можно ли сделать in_array в шаблоне ветки?
Например, у меня есть вызов массива aColors с цветами одного продукта:
Array[
0 => "1"1 => "2"]
И у меня есть класс в папке библиотеки:
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 %}
Но не работа. Есть решение? Пожалуйста, помогите мне. Может кто-нибудь мне помочь? Спасибо заранее !!!
Twig не предназначен для запуска в нем PHP-кода. Это официальная позиция разработчиков Twig: Twig — это движок шаблонов, и единственное, что он делает — это шаблоны, он ничего не знает о классах, свойствах статических классов и других вещах, предназначенных только для PHP. Варианты у вас есть:
Вы сравниваете только с ключами, так что используйте
{% for key,val in aColors %}
{% if val in Colors::aColors|keys %}
{% endfor %}