我会尽量明确,因为我的问题可能并不简单。
我有一个Sonata GridPanel,这样建模(简化):
~~~~~~~~~~~~~~~
名称|输入|团块
~~~~~~~~~~~~~~~
Boby | Aaaa | 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文件中的函数将知道返回的值参数。
例如,根据我的网格,假设我的对象的ID是列名,如果我点击 Bbbb , {{admin.id(object)}} 将 Boby 作为值返回。
这很有效。
现在,我想做同样的事情,但不会返回整个对象的ID,而是返回对象的特定值。
仍然根据我的例子,如果我点击 Bbbb ,我想检索此对象的列类型中包含的值。那么该值应该是 Aaaa 。
但我不知道该怎么做。
我试图通过这个 {{block('field')}} ,但它没有针对特定的列。
如何通过它的名称选择块。
我对树枝不太熟悉,而且我很遗憾地看到所有索纳塔的枝条文件。
我怎么能这样做?
在我的情况下,您必须知道,我想要检索的值是由Sonata的Twig“控制”的,而不是我的自定义树枝。
答案 0 :(得分:0)
我认为您可以使用模板中的object
var来执行此操作:
{% 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管理文档中查看row templates以获取更多信息