проблема шаблонов веток с массивом и индексом, используемым в другом массиве - PullRequest
0 голосов
/ 23 ноября 2011

Я использую шаблонизатор веточек.

У меня в основном есть массив, перебирающий ресурсы, что нормально, однако я добавил в него еще один массив с ключом на основе индекса цикла в массиве верхнего уровня

Так выглядит

array("0" => array("a", "b",
      "1" => array("d", "e");

и массив, который идет

array("0" => array("food", "drink",
      "1" => array("sport", "games");

Если я сделаю {{loop.index}}, я получу 0 и 1 из первого массива, что нормально

Что я хочу сделать, это передать {{loop.index}} в цикл for

{% for embedData in shareData %}
    {{embedData.embed}}
{% endfor %}

Таким образом, я могу получить значение массива из второго массива на основе ключа первого массива

Есть ли в любом случае, чтобы сделать это?

1 Ответ

6 голосов
/ 23 ноября 2011

Вы можете получить его таким образом, например, если предположить, что цвета и команды - это два массива

PHP

$app['colours'] = array('blue', 'green', 'red');
$app['teams'] = array('leafs', 'packers', 'redwings');

Просмотр

 {% for colour in app.colours %}
     <li>{{loop.index}} {{ colour }} {{ app.teams[ loop.index - 1 ] }}</li>
 {% endfor %}

Вывод

1 blue Leafs
2 green packers
3 red redwings

По сути, их можно вызывать с помощью точечной нотации, а также в виде массива в ветке, в моих тестах не было индекса 0, хотя только 1, 2, 3 с использованием удлинителя Silex для проверки

...