如何删除或覆盖奏鸣曲管理员分页?

时间:2017-12-06 08:43:31

标签: symfony sonata-admin

创建页面时,分页需要很长时间。我想删除它或覆盖它。告诉我谁面对我想删除这些东西 check image

1 个答案:

答案 0 :(得分:1)

仅删除Twig视图(对性能没有影响,只是视觉效果):

您可以使用以下方法定义自定义寻呼机:

# app/config/your_sonata_services_config.yml
services:
    app.admin.post:
        class: AppBundle\Admin\PostAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Content", label: "Post", pager_type: "simple" }
        arguments:
            - ~
            - AppBundle\Entity\Post
            - ~
        public: true

使用标记pager_type: simple,将调用视图SonataAdminBundle:Pager:simple_pager_results.html.twig

来源:https://symfony.com/doc/master/bundles/SonataAdminBundle/cookbook/recipe_improve_performance_large_datasets.html

禁用行的COUNT(*)并提高性能:

你可以看看https://github.com/sonata-project/SonataDoctrineORMAdminBundle/issues/297,你必须:

  1. 使用您自己的类覆盖SonataPager
  2. 来扩展默认computeNbResult()
  3. 使用您自己的类覆盖SonataProxyQuery
  4. 扩展默认getFixedQueryBuilder()
  5. 使用您自己的类覆盖SonataDatagridBuilder
  6. 来扩展默认getBaseDatagrid()
  7. 参考您服务中的内容