переменная ветки не пройдет - соната Symfony - PullRequest
0 голосов
/ 18 марта 2019

5 дней прошло, но все равно безуспешно!

Я сбросил результаты моей переменной карты, и она возвращает результаты.

Но когда я пытаюсь передать его через varibale на моем шаблоне ветки, он выдает:

Переменная "карточка" не существует.

Это определенов SonataAdmin.

protected function configureShowFields(ShowMapper $showMapper)
{

    $card = $this->getCardTransactions(); // on dump(), it works

    $showMapper->tab('Cards')
                    ->add('Data', 'string', array(
                        'template' => "@AdminTemplates/sonata/details.html.twig",
                        'card' => $card
                    ))
                    ->end()
                ->end();
}

и в моей ветке;

 {% for c in card %}
      {{ c.id }}
  {% endfor %}

Я думаю, что это связано с SonataAdmin и как он обрабатывает вызовы такого типа, но я прочитал документацию и искалв сети, но все равно не повезло.

1 Ответ

0 голосов
/ 27 марта 2019

Вы должны использовать объект field_description.options в своем шаблоне для доступа к вашей переменной.

protected function configureShowFields(ShowMapper $showMapper)
{

    $showMapper
        ->tab('Cards')
            ->add('Data', 'string', [
                'template' => "@AdminTemplates/sonata/details.html.twig",
                'card' => $this->getCardTransactions(),
            ])
        ->end();
}
{# @AdminTemplates/sonata/details.html.twig #}
{% extends '@SonataAdmin/CRUD/base_show_field.html.twig' %}

{%- block field -%}
    {% spaceless %}
        {% for card in field_description.options.cards %}
            {{ card.id }}
        {% else %}
            <p>No card</p>
        {% endfor %}
    {% endspaceless %}
{%- endblock -%}
...