重新使用自己的奏鸣曲块

时间:2015-12-30 15:06:31

标签: symfony sonata-admin

我是sonata块的新手,我偶然发现了这个,我不确定我是否理解正确,我知道我可以为块设置默认值,我知道我可以通过以下方式生成具有特定设置的块:

{{ sonata_block_render({ 'type': 'sonata.block.service.rss' }, {
    'title': 'Sonata Project\'s Feeds',
    'url': 'https://sonata-project.org/blog/archive.rss'
}) }}

但是当我只是将块插入到奏鸣曲管理员后端时,我无法在此处设置设置,我是否真的必须创建一个只有模板的块,其唯一目的是使用设置渲染另一个块?

我知道这很令人困惑,这就是我的配置:

sonata_block:
    default_contexts: [cms]
    blocks:
        affiliate.block.statistics:

以下是id能够做到的事情:

sonata_block:
    default_contexts: [cms]
    blocks:
        affiliate.block.statistics:
            settings:
                title: potato

我可以这样做,但“标题”不会​​覆盖默认标题吗?

或者这是在sonata_admin根目录下完成的吗?

也可以这样做:

sonata_admin:
   dashboard:
        blocks:
            - { position: right, type: affiliate.block.statistics, title: 'title' }

这就是我在块服务中设置默认值的方法

public function setDefaultSettings(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'url'            => false,
        'title'          => '123',
    );
}

1 个答案:

答案 0 :(得分:0)

在你的config.yml中你应该有一个块来定义sonata_admin

sonata_admin:
    title:      My Admin       
    dashboard:
        blocks:
            -
                type:  affiliate.block.statistics:
                settings:
                    title: potato

            # You can define multiple blocks. 
            # e.g. a Standard Sonata Statistics Block.

            -
                class:    col-md-3 col-xs-6  
                position: top  # zone in the dashboard
                type:     sonata.admin.block.stats   # block id
                settings:
                    code:  app.admin.news_comments   # admin code - service id
                    icon:  fa fa-magic               # font awesome icon
                    text:  Approved Comments
                    color: bg-aqua                   # colors: bg-green, bg-red etc.
                    filters:                         # search filter values
                        approved: { value: true }

然后在你现有的sonata_block:你的config.yml(或sonata.yml)配置的一部分,你只需列出块“启用”它。

sonata_block:
    default_contexts: [cms]
    blocks:
        affiliate.block.statistics