简体   繁体   English

修改 Sonata Media Bundle 时预览列消失

[英]Preview column disappears when modifying Sonata Media Bundle

I am modifying the Sonata Media Bundle's media admin screen to show a new field.我正在修改 Sonata Media Bundle 的媒体管理屏幕以显示一个新字段。 After using the Easy Extends tool to extend the bundle, I create a very small class to do this with:使用 Easy Extends 工具扩展包后,我创建了一个非常小的类来执行此操作:

namespace App\Application\Sonata\MediaBundle\Admin\ORM;

use Sonata\AdminBundle\Form\FormMapper;
use Sonata\MediaBundle\Admin\ORM\MediaAdmin as BaseMediaAdmin;

class MediaAdmin extends BaseMediaAdmin
{
    /**
     * {@inheritdoc}
     */
    protected function configureFormFields(FormMapper $formMapper)
    {
        parent::configureFormFields($formMapper);

        $formMapper
            ->add(
                'language',
                null,
                []
            )
            ->end();
    }
}

... and I add this in my services.yaml file: ...我将其添加到我的services.yaml文件中:

sonata.media.admin.media:
    class: App\Application\Sonata\MediaBundle\Admin\ORM\MediaAdmin
    arguments:
        - ''
        - '%sonata.media.admin.media.entity%'
        - '%sonata.media.admin.media.controller%'
        - '@sonata.media.pool'
        - '@sonata.media.manager.category'
    tags:
        - { name: sonata.admin, manager_type: orm, group: admin, label: Seiten }
    public: true
    calls:
        - [ setModelManager, ["@sonata.media.admin.media.manager"] ]
        - [ setTranslationDomain, ["%sonata.media.admin.media.translation_domain%"] ]
        - [ setTemplates, [ inner_list_row : "@@SonataMedia/MediaAdmin/inner_row_media.html.twig", outer_list_rows_mosaic : "@@SonataMedia/MediaAdmin/list_outer_rows_mosaic.html.twig", base_list_field : "@@SonataAdmin/CRUD/base_list_flat_field.html.twig", list : "@@SonataMedia/MediaAdmin/list.html.twig", edit : "@@SonataMedia/MediaAdmin/edit.html.twig" ] ]

While the new field ("language") loads on my admin screen in the CMS, I find that I now have only half of the fields!当新字段(“语言”)加载到我的 CMS 管理屏幕上时,我发现我现在只有一半的字段! The "preview" tab is entirely missing. “预览”选项卡完全丢失。 The fields from the "media" tab are present, but the tab is now labeled as "pages." “媒体”选项卡中的字段存在,但该选项卡现在标记为“页面”。

Any ideas about what might be going on here?关于这里可能发生什么的任何想法?

It turns out that I didn't have to go through the whole baroque dance of redeclaring the service with all dependencies.事实证明,我不必经历重新声明具有所有依赖项的服务的整个巴洛克式舞蹈。 Instead, all I needed to do in services.yaml was to create a new parameter key pointing at my custom class:相反,我需要在services.yaml中做的就是创建一个指向我的自定义类的新参数键:

parameters:
    locale: 'de'
    ...
    sonata.media.admin.media.class: 'App\Application\Sonata\MediaBundle\Admin\ORM\MediaAdmin'

After that, everything worked perfectly.之后,一切正常。 Boffo!博福!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM