搜索
编辑该页面搜索
管理有一个基本的全球搜索上导航菜单中可用。搜索遍历管理类和寻找过滤器实现奏鸣曲\ AdminBundle \ \ SearchableFilterInterface搜索
接口和方法isSearchEnabled ()
返回true。如果您使用的是SonataDoctrineORMBundle
,奏鸣曲\ DoctrineORMAdminBundle \ \ StringFilter进行过滤
过滤器是可搜索和依赖global_search
选择。
请注意
当前的实现可以是昂贵的,如果你有很多实体产生的查询是一个像% % %或%查询查询
…
禁用管理员的搜索
你可以禁用整个搜索管理员通过设置global_search
属性来假
在你的管理定义使用标签sonata.admin
。
1 2 3
<服务id=“app.admin.post”类=“应用程序\ Admin \ PostAdmin”><标签的名字=“sonata.admin”global_search=“假”model_class=“应用程序\实体\发布”manager_type=“orm”集团=“内容”标签=“职位”/ >< /服务>
定制
配置搜索模板
的主要行动是使用模板@SonataAdmin /核心/ search.html.twig
。和每个搜索处理块
块,模板@SonataAdmin /块/ block_search_result.html.twig
。
默认模板值可以在配置中配置部分
1 2 3 4 5 6 7
#配置/包/ sonata_admin.yamlsonata_admin:模板:#其他配置选项搜索:“@SonataAdmin /核心/ search.html.twig”search_result_block:“@SonataAdmin /块/ block_search_result.html.twig”
您还需要配置块的奏鸣曲块配置
1 2 3 4 5 6
#配置/包/ sonata_admin.yamlsonata_block:块:sonata.admin.block.search_result:背景:(管理)
您还可以配置块模板/管理而管理定义:
1 2 3 4 5 6 7
<服务id=“app.admin.post”类=“应用程序\ Admin \ PostAdmin”><标签的名字=“sonata.admin”model_class=“应用程序\实体\发布”manager_type=“orm”集团=“内容”标签=“职位”/ ><调用方法=“setTemplate”><论点>search_result_block< /论点><论点>@SonataPost /块/ block_search_result.html.twig< /论点>< /调用>< /服务>
配置默认的搜索结果的行为
一般搜索结果生成一个链接到一个条目的显示作用或显示为文本,如果显示路线被禁用或您没有所需的权限。你可以改变这种行为最重要的选项
1 2 3 4 5
#配置/包/ sonata_admin.yamlsonata_admin:global_search:admin_route:编辑
定制的可见性的空盒子
默认情况下所有的管理框所示的搜索结果和它看起来像这样:
我们可以淡出盒子没有结果:
1 2 3 4 5
#配置/包/ sonata_admin.yamlsonata_admin:global_search:empty_boxes:褪色
它看起来像这样:
第三个选项是隐藏空盒子:
1 2 3 4 5
#配置/包/ sonata_admin.yamlsonata_admin:global_search:empty_boxes:隐藏
它看起来像这样:
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。