gpt4 book ai didi

symfony - 奏鸣曲媒体包覆盖

转载 作者:行者123 更新时间:2023-12-04 23:22:51 25 4
gpt4 key购买 nike

谁能告诉我如何扩展和覆盖所有奏鸣曲媒体包功能?
我正在使用 Symfony2.3.​​3 和 Sonata Master Bundle 。

我看到这个文档 http://sonata-project.org/bundles/media/master/doc/index.html
我知道一些基本的东西,比如:如何编写自定义提供程序、翻译器等等。安装后基本的东西都在工作,但我不知道。

我正在寻找将 BaseMediaBundle 覆盖为自定义,例如函数“configureListFields”。

我已经覆盖了这个包的 Controller ,但没有覆盖 BaseMediaAdmin。

此代码的问题是我的仪表板中的实体“媒体”消失了!

//在我的 services.xml 中:

<service id="sonata.media.admin.media" class="Application\Sonata\MediaBundle\Admin\MediaAdmin">
<tag name="sonata.media.admin" manager_type="orm" group="Gestion des médias"
label="Média" />
<argument />
<argument>Application\Sonata\MediaBundle\Entity\Media</argument>
<argument>Application\SonataMediaBundle:MediaAdmin</argument>
<call method="setTranslationDomain">
<argument>SonataMediaBundle</argument>
</call>
</service>

//在我的应用程序\奏鸣曲\MediaBundle\Admin\MediaAdmin
namespace Application\Sonata\MediaBundle\Admin;

use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\MediaBundle\Provider\Pool;
use Sonata\MediaBundle\Form\DataTransformer\ProviderDataTransformer;

use Knp\Menu\ItemInterface as MenuItemInterface;

use Sonata\MediaBundle\Admin\BaseMediaAdmin as BaseMediaAdmin;


class MediaAdmin extends BaseMediaAdmin
{

/**
* {@inheritdoc}
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('custom', 'string', array('template' => 'SonataMediaBundle:MediaAdmin:list_custom.html.twig'))
->add('enabled', 'boolean', array('editable' => true))
->add('_action', 'actions', array(
'actions' => array(
'view' => array(),
'edit' => array(),
'delete' => array(),
)
))
;
}

}

有人问同样的问题: https://groups.google.com/forum/#!topic/sonata-users/l3D_Vrd0Hm4

我谷歌它但没有找到。有谁知道吗?

谢谢!

最佳答案

您必须覆盖 %sonata.media.admin.media.class%
YourSite/MediaBundle/Ressource/config/services.yml
`

parameters:
sonata.media.admin.media.class: YourSite\MediaBundle\Admin\MediaAdmin

services:
custom_name.admin.media:
class: %sonata.media.admin.media.class%
arguments:
- ~
- YourSite\MediaBundle\Entity\Media
- YourSiteMediaBundle:MediaAdmin
- @sonata.media.pool
tags:
- {name: sonata.admin, manager_type: orm, group: admin, label: Médias}

`

并在您的 app/config/config.yml
imports:
/** ... **/
- { resource: @YourSiteMediaBundle/Resources/config/services.yml }


sonata_admin:
/** ... **/
dashboard:
groups:
/** ... **/
Médias:
items:
- custom_name.admin.media
# - sonata.media.admin.media

关于symfony - 奏鸣曲媒体包覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420619/

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