symfony - 没有奏鸣曲媒体包的列表映射器中某个实体的奏鸣曲管理包预览图像

标签 symfony sonata-admin

我想知道我应该如何解决这个问题。在奏鸣曲管理仪表板中,我有用户,我想在 ListMapper 的缩略图中预览用户个人资料图片。我是 symfony 的新手,在试图围绕这些概念进行思考时仍然有点困惑。

最佳答案

您需要创建一个自定义模板,在其中显示用户的图像,我将假设您的实体用户作为图片实体,它具有提供图像 URL 的路径方法:

图片.html.twig

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
{% block field %}
<div>
    {% if object.picture != null %}
    <img src="{{ object.picture.path }}">
    {% else %}
    <span>No picture</span>
    {% endif %}
</div>
{% endblock %}

您知道必须在列表中使用此模板
class UserAdmin extends Admin
{
    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
            ->addIdentifier('id')
            ->add('picture', null, array(
                'template' => 'ApplicationSonataAdminBundle:User:picture.html.twig'
            ));
    }
}

文档可在此处获得:http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/list_field_definition.html#custom-template

关于symfony - 没有奏鸣曲媒体包的列表映射器中某个实体的奏鸣曲管理包预览图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28361347/

相关文章:

forms - Symfony2-将类添加到表单标签

php - 未捕获的 PHP 异常 RedisException : "Cannot assign requested address"

symfony - 奏鸣曲管理包 : Multiple admin section for same entity

php - Sonata 批量操作和 Hooks 原则

symfony - 如何在奏鸣曲管理类中获取容器实例?

symfony - bootstrap.php.cache 中损坏的成员变量名称

php - 在不登录用户的情况下使用 FOSUserBundle 注册用户

php - Symfony 表单 - 在 CollectionType 中的子条目类型中访问实体

php - Symfony - 将 Sonata Admin 过滤器运算符设置为 "is equal to"作为默认选项

symfony - Sonata User Admin - 自定义字段依赖