【问题标题】:Sonata admin bundle templateSonata 管理包模板
【发布时间】:2014-04-28 23:11:41
【问题描述】:

我最近安装了 Symfony 和 Sonata 管理包,工作正常。 是否可以更改/自定义管理界面(模板)?我在哪里可以下载这些模板?任何教程如何做到这一点?

【问题讨论】:

    标签: symfony twig sonata-admin symfony-sonata


    【解决方案1】:

    可以更改任何模板。 为此,您需要:

    • 安装 EasyExtendBundle
    • 运行命令 $php app/console sonata:easy-extends:generate SonataAdminBundle -d src

    • 在 AppKernel.php 中注册生成的包(名称为 ApplicationSonataAdminBundle)

    • 从供应商目录复制您需要扩展的模板,并将其放在新包中的相同层次结构下。

    • 更改您的新模板并添加您想要的任何块

    PS:你可以对 CSS 或 JS 文件做同样的事情

    【讨论】:

      【解决方案2】:

      您可以基于或不基于奏鸣曲模板编写新模板,并在请求页面时指示奏鸣曲管理员显示您的模板。在 Admin 类中,您必须重写“getTemplate”方法,如下所示:

      public function getTemplate($name)
      {
          switch ($name) {
              case 'edit':
                  return 'YourBundle:YourFolder:yourEdit.html.twig';
                  break;
              case 'list':
                  return 'YourBundle:YourFolder:yourList.html.twig';
                  break;
              default:
                  return parent::getTemplate($name);
                  break;
          }
      }
      

      该示例覆盖了“编辑”和“列表”操作的模板。对于其他动作,它将获得奏鸣曲模板。

      【讨论】:

      【解决方案3】:

      您可以简单地覆盖捆绑包中的任何模板。查看文档here

      默认所有模板都在config.yml中配置:

      sonata_admin:
          templates:
              layout:  SonataAdminBundle::standard_layout.html.twig
              ajax:    SonataAdminBundle::ajax_layout.html.twig
              list:    SonataAdminBundle:CRUD:list.html.twig
              show:    SonataAdminBundle:CRUD:show.html.twig
              edit:    SonataAdminBundle:CRUD:edit.html.twig
              history: SonataAdminBundle:CRUD:history.html.twig
              preview: SonataAdminBundle:CRUD:preview.html.twig
              delete:  SonataAdminBundle:CRUD:delete.html.twig
              batch:   SonataAdminBundle:CRUD:list__batch.html.twig
              acl:     SonataAdminBundle:CRUD:acl.html.twig
              action:  SonataAdminBundle:CRUD:action.html.twig
              select:  SonataAdminBundle:CRUD:list__select.html.twig
              dashboard:           SonataAdminBundle:Core:dashboard.html.twig
              search:              SonataAdminBundle:Core:search.html.twig
              batch_confirmation:  SonataAdminBundle:CRUD:batch_confirmation.html.twig
              inner_list_row:      SonataAdminBundle:CRUD:list_inner_row.html.twig
              base_list_field:     SonataAdminBundle:CRUD:base_list_field.html.twig
              list_block:          SonataAdminBundle:Block:block_admin_list.html.twig
              user_block:          SonataAdminBundle:Core:user_block.html.twig
              pager_links:         SonataAdminBundle:Pager:links.html.twig
              pager_results:       SonataAdminBundle:Pager:results.html.twig
              history_revision_timestamp:  SonataAdminBundle:CRUD:history_revision_timestamp.html.twig
              short_object_description:    SonataAdminBundle:Helper:short-object-description.html.twig
              search_result_block: SonataAdminBundle:Block:block_search_result.html.twig
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-24
        • 2016-07-03
        • 2013-11-25
        • 2018-12-09
        • 2012-01-18
        • 2015-10-23
        • 2015-01-27
        • 1970-01-01
        相关资源
        最近更新 更多