列出奏鸣曲管理包中的图像

2024-03-31

我是 Symfony 的新手,尝试在奏鸣曲管理包中列出图像。但我有点困惑如何获取树枝文件中的对象,以便我可以获得图像源的确切路径。

这是我的代码

protected function configureListFields(ListMapper $listMapper)
    {
//        $image = $this->getSubject();
        $listMapper
            ->addIdentifier('caption')
                ->add('image','string', array('template' => 'swaamImageUploaderBundle:Admin:list_image.html.twig'))
        ;
    }

这是我的 list_image.html.twig 文件

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

{% block field%}

    <img src="{{ 'uploads/images/822b23a922f43bb664cb58ca57de6cccccc962e5.jpeg'}}">

     {#<img src="{{  asset(image.getthumbWebPath) }}">#}


{% endblock %}

在我的图像源标签中,我给出了用于测试的硬代码路径。但不知道如何从数据库获取路径。

另外,当我在控制器中只写 ->add('image') 时,我会从后端显示的数据库中获取准确的路径。

我有一个实体图像。

谁能帮助我?


我想您正在使用 Sonata Media Bundle

您必须使用该实体,并且您可以在这里找到所需的帮助者:http://sonata-project.org/bundles/media/2-2/doc/reference/helpers.html http://sonata-project.org/bundles/media/2-2/doc/reference/helpers.html

如果您需要获取控制器中的完整路径(可能发生,很少但可能发生),您必须使用媒体服务

$mm = $this->container->get('sonata.media.manager.media');
$pr = $this->container->get('sonata.media.provider.image');
$media = $mm->findOneBy(array('id' => $idImage));
$format = $pr->getFormatName($media, 'default');
$path = $pr->generatePublicUrl($media, $format);

或者使用控制器内的 twig helper

$format = 'default'; //the format you want to show
$path=$this->get('sonata.media.twig.extension')->path($image, $format);

如果您想将图像添加到 Sonata Admin 的列表字段(您的情况),您可以使用此代码

{% block field %}

        {% thumbnail object.image, 'thumb' %}

{% endblock %}

其中 image 是实体的图像获取方法(es getImage() )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

列出奏鸣曲管理包中的图像 的相关文章

随机推荐