gpt4 book ai didi

symfony - Sonata Admin 在 ListView 中修改数据

转载 作者:行者123 更新时间:2023-12-02 03:43:51 26 4
gpt4 key购买 nike

我正在尝试显示/编辑 postgis 点类型。我正在使用 creof/doctrine2-spatial 包,它提供了一些简洁的函数来获取一个点的 X 和 Y 值。以下内容在编辑/新形式中运行良好,因此该点被列为“Y X”(在本例中为“纬度经度”)。

我不确定这是否是完成我所需的正确方法,但它确实有效。

protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name', 'text')
->add('coords', 'text', array(
'data'=>
$this->getSubject()->getCoords()->getLatitude() . ' ' .
$this->getSubject()->getCoords()->getLongitude()
));
}

但是问题是 ListView 。因为点被转换为字符串 "X Y" 它在 ListView 中以错误的顺序打印纬度和经度。它打印为“经度纬度”我对奏鸣曲很陌生,所以我不确定如何在 ListView 中解决问题。

有什么想法吗?

更新:感谢@kunicmarko20 我已经解决了这个问题:

所以文件转到app/Resources/views/SonataAdmin/CRUD/geography_point_list.html.twig我决定把文件放到一个合理的文件夹中。

模板内容为:

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
<div>
{{ object.coords.getLatitude }} {{ object.coords.getLongitude }}
</div>
{% endblock %}

使用模板的代码是:

->add('coords', null, ['template' => 'SonataAdmin/CRUD/geography_point_list.html.twig']);

出于某种原因,我无法使 : 类型路径起作用?

最佳答案

对于您的 ListView 字段,您可以按照说明创建自定义模板 here .

例子:

protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('yourfiled', null, ['template' => 'AppBundle:Admin:your_field_list.html.twig'])
;
}

你的模板看起来像:

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
<div>
{{ object.longitude }} {{ object.latitude }}
</div>
{% endblock %}

此处的对象是具有所有值的实体。

关于symfony - Sonata Admin 在 ListView 中修改数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47489793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com