Как получить доступ к родительскому элементу twig для цикла внутри вторичного для

#twig

#twig

Вопрос:

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

 {% for payment in  app.paymentTypes %}
{% if payment.name == page.affiliate.payment.PaymentType %}
    {% for key, value in payment.fields %}
              <div class="form-group">
                  <label for="{{ key }}" class="col-sm-4 control-label">{{ value }}</label>
                  <div class="col-sm-6">
                  <input type="text" id="{{ key }}" class="form-control" value=" {{  page.affiliate.payment.key }} ">
                  </div>
              </div>
    {% endfor %}
{% endif %}
{% endfor %}
 

Проблема заключается в следующем: {{ page.affiliate.payment.key }}

Ошибка:

Twig_Error_Runtime в Template.php строка 501: Ключ «key» для массива с ключами «PaymentType, ukbank_bank_name, ukbank_swift, ukbank_account_name, ukbank_account_number» не существует в «settings / payment.html.twig» в строке 61 в Template.php строка 501 в Twig_Template->getAttribute(массив(‘PaymentType’ => ‘UKБанковский перевод’, ‘ukbank_bank_name’ => ‘BANK’, ‘ukbank_swift’ => ‘000000’, ‘ukbank_account_name’ => ‘Something Ltd’, ‘ukbank_account_number’ => ‘00000000’), ‘ключ’, массив ()) в Environment.php (404) : вычисление()’d строка кода 145

Любая помощь приветствуется

Ответ №1:

'key' не завершается как ключ в page.affiliate.payment массиве.

Я предполагаю, что вы хотите использовать значение key в page.affiliate.payment массиве следующим образом:

 {{ page.affiliate.payment[key] }} 
 

Комментарии:

1. Работал отлично, я был уверен, что уже пробовал это, спасибо за вашу помощь!