标签: symfony-sonata

Sonata Admin Bundle:可以添加一个可以拥有不同父级的子管理员对象吗?

我正在使用doctrine继承映射来将各种对象链接到注释实体.这是通过各种具体的"线程"实现的,这些"线程"与注释具有一对多的关系.因此,以"故事"元素为例,会有一个相关的"StoryThread"实体,它可以有很多注释.

这一切都运行正常,但是我在为SonataAdminBundle定义一个可以用作父实体的子级的CommentAdmin类时遇到了麻烦.例如,我希望能够使用以下路由:

/admin/bundle/story/story/1/comment/list /admin/bundle/media/gallery/1/comment/list

有没有人有任何关于如何实现这一目标的指示?我想发布一些代码摘录,但我没有设法找到任何相关的文档,所以不知道最好的起点.

我一直在尝试使用SonataNewsBundle作为参考,因为他们在帖子和评论之间实现了类似的父/子管理员关系,但似乎这依赖于'评论'(子)管理员类被硬编码到知道它属于帖子,它似乎也需要与父对象有直接的多对一关系,而我的是通过一个单独的"线程"实体.

我希望这是有道理的!谢谢你的帮助.

php admin symfony symfony-sonata sonata-admin

4
推荐指数
1
解决办法
8943
查看次数

SonataAdminBundle中不存在函数"is_granted"

安装Symfony2 cmf后,当我尝试查看admin/dashboard时出现以下错误:

第95行的SonataAdminBundle :: standard_layout.html.twig中不存在函数"is_granted"

symfony symfony-sonata

4
推荐指数
1
解决办法
2294
查看次数

Sonata Media Bundle - 如何编写自定义图像缩放器

我正在使用Sonata Media Bundle,我需要为图像缩放器编写特定的行为,因为默认的SimpleResizerSquareResizer类不符合我的需要.

我想要一个简单的图像缩放器,如果我同时指定widthheight参数,我可以准确地调整图像大小.我还希望如果我没有指定参数,它可以回退简单的缩放器行为height.

我刚刚搜索了文档,但我找不到解决方案.

php symfony symfony-sonata

4
推荐指数
1
解决办法
5716
查看次数

Sonata Media Bundle Override

任何人都可以告诉我如何扩展和覆盖所有奏鸣曲媒体捆绑功能?我正在使用Symfony2.3.​​3和Sonata Master Bundle.

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

我正在寻找覆盖BaseMediaBundle自定义为例如函数"configureListFields".

我已经覆盖了这个包的控制器,但没有覆盖BaseMediaAdmin.

这段代码的问题是我的仪表板实体"Media"消失了!

//在我的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> 
Run Code Online (Sandbox Code Playgroud)

//在我的Application\Sonata\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', …
Run Code Online (Sandbox Code Playgroud)

symfony symfony-sonata sonata-admin

4
推荐指数
1
解决办法
6626
查看次数

没有生成缩略图

我正在我的项目中使用Sonata Media Bundle和Symfony2.3.当我覆盖youtube提供者sonata.media.provider.youtube时.一切正常.没有错误或任何东西,但在

 /Web/uploads/media 
Run Code Online (Sandbox Code Playgroud)

没有生成缩略图,但在我的管理仪表板中显示:

 /uploads/media/default/0001/01/thumb_9_default_small.jpg.
Run Code Online (Sandbox Code Playgroud)

我不知道如何,但当我不覆盖sonata.media.provider.youtube然后生成缩略图

/web/uploads/media/ 
Run Code Online (Sandbox Code Playgroud)

喜欢 :

/web/uploads/media/default/0001/01/thumb_9_default_small.jpg.
Run Code Online (Sandbox Code Playgroud)

我不知道为什么?

这是我的配置文件,我在其中创建自定义服务提供者:

services:
    sonata.media.provider.youtubecustom:
          class: %application_sonata_media.youtubecustom_class%
          tags:
              - { name: sonata.media.provider }
          arguments:
              - sonata.media.provider.youtubecustom
              - @sonata.media.filesystem.local
              - @sonata.media.cdn.server
              - @sonata.media.generator.default
              - @sonata.media.thumbnail.format
              - @sonata.media.buzz.browser
              - @sonata.media.metadata.proxy

          calls:
              - [ setTemplates, [ { helper_thumbnail: SonataMediaBundle:Provider:thumbnail.html.twig,helper_view: SonataMediaBundle:Provider:view_youtube.html.twig } ] ]

parameters:
    application_sonata_media.youtubecustom_class: Application\Sonata\MediaBundle\Provider\YoutubeCustomProvider
Run Code Online (Sandbox Code Playgroud)

和SonataMedia.yml:

sonata_media:
db_driver:       doctrine_orm # | doctrine_mongodb
default_context: default
contexts:
    default:  # the default context is mandatory
        download:
            mode: http # X-Sendfile …
Run Code Online (Sandbox Code Playgroud)

symfony-sonata sonata-admin sonata-media-bundle

4
推荐指数
1
解决办法
3375
查看次数

Symfony2 - 覆盖模板包

我想覆盖默认的SonataAdmin模板.

我在我的Namespace/bundle/resources/views中创建了一个standard_layout.html.twig(相同的结构,相同的文件名,相同的内容)

我在我的目标模板中复制了源模板的所有内容,我只是编辑目标的某些部分......当然没有

谢谢你的帮助再见

symfony symfony-sonata sonata-admin

3
推荐指数
1
解决办法
1万
查看次数

在带有奏鸣曲的symfony2中:如何将变量传递给在configureListFields方法中为listmapper的给定字段定义的模板?

使用Symfony2和Sonata,在列表中,字段模板可以被覆盖并将变量分配给模板,即setTemplateVar(),有时可能有用!(不是说'attr'用于此目的的形式,而是列出......)

我想知道将变量传递给在configureListFields方法中为listmapper的给定字段定义的模板的最佳方法是什么?

    <?php

    namespace Acme\AcmeBundle\Admin;

    use Sonata\AdminBundle\Admin\Admin;
    use Sonata\AdminBundle\Datagrid\ListMapper;
    use Sonata\AdminBundle\Datagrid\DatagridMapper;
    use Sonata\AdminBundle\Validator\ErrorElement;
    use Sonata\AdminBundle\Form\FormMapper;

    class AcmeAdmin extends Admin
    {

        protected function configureListFields(ListMapper $listMapper)
        {
            $listMapper
                ->addIdentifier('acme_field')
                ->add('date', 'date', array(
                    'template'   => "AcmeBundle:CRUD:list_date.html.twig",
            //        'dateFormat' => "Y-m-d",// ---> how to pass this var to twig ?
                ))
                ->add('_action', 'actions', array(
                    'actions' => array(
                        'edit'   => array(),
                        'delete' => array(),
                    ),
                ))
            ;
        }
Run Code Online (Sandbox Code Playgroud)

使用twig模板已经实现了翻译和格式化日期的特定问题的解决方案,如下所示:

    {% block field%}
        {% if value is empty %}
            &nbsp;
        {% else %}

            {# retrieving the …
Run Code Online (Sandbox Code Playgroud)

listfield symfony-sonata sonata-admin

3
推荐指数
1
解决办法
9246
查看次数

显示/隐藏一些菜单取决于Sonata管理员角色

我正在使用Symfony2进行Web项目,我使用Sonata Admin作为管理面板,每件事情都运行正常但我想要做的是,在奏鸣曲管理员的仪表板菜单上,我需要显示隐藏一些菜单依赖于管理员角色,任何人之前做过这个或知道如何做到这一点?我试图使用角色的配置,但当我与ROELE不同的ROLE_SONATA_ADMIN连接时,顶级菜单不显示,

- { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN,ROLE_ADMIN_NEWS] }
Run Code Online (Sandbox Code Playgroud)

谢谢

symfony fosuserbundle symfony-sonata sonata-admin symfony-2.3

3
推荐指数
1
解决办法
3946
查看次数

Sonata Admin Bundle:在列表视图上显示集合总数

有什么方法可以在列表视图上显示收集的总数吗?想象有一个用户可以有许多链接。如何在列表视图中显示总链接数?

symfony-sonata sonata-admin

3
推荐指数
3
解决办法
3049
查看次数

Symfony Sonata Admin - 在 listView 中添加字段类型 url 不起作用

我正在尝试在实体的列表视图中添加字段类型 url,这是文档中的链接 -> https://symfony.com/doc/master/bundles/SonataAdminBundle/reference/field_types.html#url

这是我的代码,我只是复制了文档:

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
            ->addIdentifier('name')
            ->add('url', 'url', [
                'url' => 'http://example.com'
            ]);
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但“Url”列始终为空。

在此输入图像描述

我找到了负责渲染此字段的 Sonata 模板 -> @SonataAdmin/CRUD/list_url.html.twig 。这是代码

{% extends get_admin_template('base_list_field', admin.code) %}

{% block field %}
{% spaceless %}
   {% if value is empty %}
     &nbsp;
   {% else %}
      {% if field_description.options.url is defined %}
   ...
Run Code Online (Sandbox Code Playgroud)

问题是value总是空的,我不知道这个变量是什么;并且文档没有讨论任何名为 value 的字段。

php symfony symfony-sonata sonata-admin symfony-3.4

3
推荐指数
1
解决办法
1755
查看次数