Короче говоря, вы должны создать новый шаблон и указать его путь в параметрах поля сетки -> шаблон. Затем получите переменную {{ options.vars.order }}
в этом шаблоне.
Как это работает:
Sylius-Grid передает переменную options
в шаблон при рендеринге. Например, как выглядит стандартный label
параметр:
Определение сетки в @ SyliusAdmin / config / grids / order.yml:
...
paymentState:
type: twig
label: sylius.ui.payment_state
sortable: ~
options:
template: "@SyliusUi/Grid/Field/state.html.twig"
vars:
labels:
...
@SyliusUi/Grid/Field/label.html .twig:
{% set value = 'sylius.ui.' ~ data %}
{% if options.vars.labels is defined %}
{% include [(options.vars.labels ~ '/' ~ data ~ '.html.twig'), '@SyliusUi/Label/_default.html.twig'] with {'value': value} %}
{% else %}
{% include '@SyliusUi/Label/_default.html.twig' with {'value': value} %}
{% endif %}
В этом примере переданная переменная labels
, переданная в определении Gam Yaml, доступна в переменной Twig options.vars.labels
.
EDIT : если вы хотите получить доступ к другим атрибутам объекта-сущности в шаблоне, а не только к channels
, как в этом примере, добавьте это в определение поля сетки root:
channel:
type: twig
label: sylius.ui.channel
path: .
, возможно, вам потребуется refre sh Кеш ветки с php bin/console cache:clear
. Узнайте больше об этом в https://docs.sylius.com/en/1.6/components_and_bundles/bundles/SyliusGridBundle/field_types.html#twig -twig