Я хотел бы изменить фиксированное имя массива на динамическое c имя массива. Внутри
set item_classes = [
item.original_link.nid and item.original_link.p6 and item.original_link.in_active_trail ? 'active',
]
Это работает, потому что 'nid' и p6 одинаковы и уникальны.
В массиве item.original_link имеется 19 значений:
'nid' => string(3) "114" - Node ID
'bid' => string(3) "100"
'pid' => string(3) "111"
'has_children' => string(1) "0"
'weight' => string(1) "0"
'depth' => string(1) "3" - Page Depth
'p1' => string(3) "100"
'p2' => string(3) "111"
'p3' => string(3) "114" - P+Depth
'p4' => string(1) "0"
'p5' => string(1) "0"
'p6' => string(1) "0"
'p7' => string(1) "0"
'p8' => string(1) "0"
'p9' => string(1) "0"
'in_active_trail' => boolTRUE
'access' => boolTRUE
'title' => string(21) "Development.twig.html"
'options' => array(0)
Мне нужно установить значение item.original_link.p6 в значение Dynami c: 'p + глубина'.
Как в в этом примере значение будет item.original_link.p3 .
Надеюсь, я объяснил это достаточно подробно, чтобы кто-то помог или дал мне направление.
I добавили set переменную, как показано ниже:
{% set my_var = [ ('p' ~ item.original_link.depth ), ] %}
Это дает мне необходимую динамическую переменную c, но когда я использую ее в следующем set как ниже:
{% set item_classes = [ item.original_link.nid and item.original_link.my_var and item.original_link.in_active_trail ? 'is_active', ] %}
возвращает NULL