Получить значение внутри поля с помощью пользовательской ветки / Выбрать столбец по имени блока / Соната
Я постараюсь быть максимально понятным, поскольку мой вопрос может быть непростым.
У меня есть Sonata GridPanel, смоделированный (упрощенный), как это:
~~~~~~~~~~~~~~~
Имя | Тип | капля
~~~~~~~~~~~~~~~
Боби | Аааа | BBBB
Джон | Cccc | Xxxx
Предположим, что столбец Blob - это пользовательский столбец, который я создал, и вы можете нажать на него.
Управляется собственной веточкой.
Моя обычная веточка такая
{% extends stuff %}
{% block field%}
<div class="opener">
<img
src="{{ asset('bundles/bobby/images/map_magnify.png') }}"
width="30"
height="30"
style="cursor:pointer;"
onclick="createPopUp('{{ admin.id(object) }}');"
>
</div>
{% endblock %}
Как видите, я передаю {{ admin.id(object) }} в качестве параметров функции, поэтому функция в моем JS-файле будет знать о значении, возвращаемом параметрами.
Например, согласно моей сетке и в предположении, что идентификатором моего объекта является столбец Name, если я нажму на Bbbb, {{ admin.id(object) }} вернет Boby в качестве значения.
Это работает.
Теперь я хочу сделать то же самое, но не возвращает идентификатор целого объекта, а определенное значение объекта.
Тем не менее, в соответствии с моим примером, если я нажму на Bbbb, я бы хотел получить значение, содержащееся в столбце Тип для этого объекта. Значение должно быть тогда Aaaa.
Но я не знаю, как это сделать. Я попытался передать этот {{block ('field')}}, но он не нацелен на определенный столбец.
Как выбрать блок по названию.
Я не достаточно знаком с веткой, и я совершенно растерялся, заглядывая во все файлы веток Сонаты.
Как я мог это сделать?
Вы должны знать, что в моем случае значение, которое я хочу получить, "контролируется" веточкой сонаты, а не моей собственной веточкой.
1 ответ
Я думаю, что вы можете сделать это с помощью object
Вар из шаблона:
{% extends stuff %}
{% block field%}
<div class="opener">
<img
src="{{ asset('bundles/bobby/images/map_magnify.png') }}"
width="30"
height="30"
style="cursor:pointer;"
onclick="createPopUp('{{ object.type }}');"
>
</div>
{% endblock %}
Взгляните на шаблоны строк из документации администратора sonata для получения дополнительной информации