Создание новой страницы на странице администрирования Sonata в Symfony 4 - PullRequest
0 голосов
/ 26 октября 2018

У меня есть приложение Symfony 4, которое я хочу изменить. Я хочу добавить новую страницу и добавить ссылку на нее в левой боковой панели https://image.ibb.co/dZnjbV/Capture.jpg

мой sonata_admin.yaml выглядит так

sonata_admin:
  title:                'GPAC'
  title_logo:           img/logo.png
  templates:
    layout:       "base.html.twig"
    dashboard:    "Core/dashboard.html.twig"
    list_block:   "Block/block_admin_list.html.twig"
    edit:         "CRUD/edit.html.twig"
    list:         "CRUD/list.html.twig"
  options:
    title_mode: 'single_text'
  security:
    handler: sonata.admin.security.handler.role
    role_admin: ROLE_ADMIN
    role_super_admin: ROLE_SUPER_ADMIN
  dashboard:  
    blocks:
      -
        position: left
        type: sonata.block.service.template
        settings:
          template: "Block/block_alert.html.twig"
      -
        position: right
        type: sonata.block.service.template
        settings:
          template: "Block/block_activity.html.twig"
    groups:
      admin:
        label: 'Administration'
        icon: '<i class="fa fa-database"></i>'
      skill:
        label: 'Matrice de compétences'
        icon: '<i class="fa fa-tasks"></i>'
      rc:
        label: 'Gestion des ressources'
        icon: '<i class="fa fa-user-circle-o"></i>'
      frc:
        label: 'Suivi de compétence des ressources'
        icon: '<i class="fa fa-search"></i>'
      client:
        label: 'Client (OEC)'
        icon: '<i class="fa fa-building-o"></i>'
      project:
        label: 'Gestion d''acréditation'
        icon: '<i class="fa fa-folder-open-o"></i>'
      council:
        label: 'Comités & Réunions'
        icon: '<i class="fa fa-calendar"></i>'


  assets:
    extra_stylesheets:
      - bundles/sonataadmin/vendor/admin-lte/dist/css/skins/_all-skins.min.css
    remove_stylesheets:
      - bundles/sonatacore/vendor/components-font-awesome/css/font-awesome.min.css

sonata_block:
#   default_contexts: [cms]
  blocks:
    sonata.admin.block.admin_list:
      contexts: [admin]
    sonata.admin.block.search_result:
      contexts: [admin]
    sonata.block.service.text:
      contexts: [admin]
    sonata.block.service.template:
      contexts: [admin]

Моя папка src похожа на эту https://image.ibb.co/eBFHVq/Capture2.jpg

Любая помощь будет оценена

1 Ответ

0 голосов
/ 30 октября 2018

Чтобы добавить пользовательскую страницу администратора: , вы можете сделать это очень похоже на Symfony:

  1. Создать класс администратора Sonata, который расширяет AbstractAdmin
  2. .определите базовый шаблон маршрута и имя маршрута там
  3. добавьте ваши действия в этот контроллер, а ваш шаблон генерации (рендеринга)
  4. определите и создайте сущности и методы, которые будут возвращаться к вашему шаблону (шаблонам)
  5. Зарегистрируйте их в своем services.yml с аргументами и тегами
  6. , и вам нужно добавить этот новый блок в config.yml (sonata_block)
  7. и, конечно, создать свои шаблоны веточек.тоже (расширяет стандартную веточку сонаты)

Полный пример найден здесь от kunicmarko20

...