我是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',
);
}
答案 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