elvandar/kazetenn-admin

为kazetenn项目构建的symfon管理器构建库

安装: 17

依赖项: 2

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:symfony-bundle

This package is auto-updated.

Last update: 2024-09-18 22:47:38 UTC


README

描述

Kazetenn Admin是一个symfony包,允许您以编程方式处理基本页面。

安装

您可以使用

composer require elvandar/kazetenn_core_admin

来安装此包。

用法

此包提供了一个管理面板和菜单,用于创建后台办公室。

配置

以下是包的配置参考,您可以在config/packages/kazetenn_admin.yaml中配置它。

kazetenn_admin:
  authorized_roles:     []
  admin_url:            admin
  translation_domain:   kazetenn_admin
  pages:
    name:
      function:             ~
  menu_entries:
    name:
      target:               ''
      display_name:         ''
      translation_domain:   ''
      order:                0
      type:                 route
      authorized_roles:     []
      orientation:          vertical
      children:
        name:
          target:               ''
          order:                0
          display_name:         ''
          translation_domain:   ''
          authorized_roles:     []
          type:                 route

让我们详细看看这些。

基本配置
kazetenn_admin:
  admin_url:            admin
  translation_domain:   kazetenn_admin
  authorized_roles:     []
  pages:
    name:
      function:             ~
  menu_entries:         []
admin_url

这是管理菜单URL的前缀。这将生成以下格式的URL:

http://your_domain/admin_url/

默认情况下,它设置为'admin'。

translation_domain

这将定义整体菜单的翻译域。如果没有为其他菜单定义它,它也将是翻译域回退。

authorized_roles

这是一个有权访问菜单的角色集合。这些是经典的symfony角色。

如果您想允许未经认证的用户访问管理菜单,您必须使用'ANONYMOUS'角色。

除非设置了'ANONYMOUS'角色,否则用户必须拥有所有定义的角色才能访问菜单。

如果您没有为每个单独的菜单定义角色,则此数组将用作回退。

页面

您将能够在这里定义管理页面。

menu_entries

您将能够在这里定义不同的菜单。

菜单条目配置
name:
  target:               ''
  display_name:         ''
  translation_domain:   ''
  order:                0
  type:                 route
  authorized_roles:     []
  orientation:          vertical
  children:             []

这允许您配置管理页面上每个菜单条目。

name

您的条目名称

type

条目的类型,可以是以下之一:

  • link
  • page
  • route
  • header

这告诉包如何解释'target'条目。

标题类型是仅在上层菜单中可用的特殊类型。这将渲染一个没有链接的菜单,用于创建主菜单和标题菜单。

target

代码将根据您提供的类型使用的字符串

  • link: 一个指向外部来源的链接(https://google.com
  • page: 管理页面的名称
  • route: 一个symfony路由
  • header: 无
display_name

将显示的名称(并翻译)

translation_domain

用于翻译名称的翻译域。如果为空,则包将回退到默认定义的域。

order

菜单渲染的顺序。如果两个菜单具有相同的顺序,则包将抛出一个警告。

authorized_roles

这是一个有权访问菜单的角色集合。这些是经典的symfony角色。

如果您想允许未经认证的用户访问管理菜单,您必须使用'ANONYMOUS'角色。

除非设置了'ANONYMOUS'角色,否则用户必须拥有所有定义的角色才能访问菜单。

如果您没有为每个单独的菜单定义角色,则此数组将用作回退。

orientation

这将定义您的菜单是否将显示在水平头部菜单或垂直侧菜单中。值是:

  • horizontal
  • vertical
children

您可以在这里定义子菜单

子菜单条目配置
name:
      target:               ''
      order:                0
      display_name:         ''
      translation_domain:   ''
      authorized_roles:     []
      type:                 route
name

您的条目名称

type

条目的类型,可以是以下之一:

  • link
  • page
  • route

这告诉包如何解释'target'条目。

标题类型是仅在上层菜单中可用的特殊类型。这将渲染一个没有链接的菜单,用于创建主菜单和标题菜单。

target

代码将根据您提供的类型使用的字符串

  • link: 一个指向外部来源的链接(https://google.com
  • page: 管理页面的名称
  • route: 一个symfony路由
display_name

将显示的名称(并翻译)

translation_domain

用于翻译名称的翻译域。如果为空,则包将回退到默认定义的域。

order

菜单渲染的顺序。如果两个菜单具有相同的顺序,则包将抛出一个警告。

authorized_roles

这是一个有权访问菜单的角色集合。这些是经典的symfony角色。

如果您想允许未经认证的用户访问管理菜单,您必须使用'ANONYMOUS'角色。

除非设置了'ANONYMOUS'角色,否则用户必须拥有所有定义的角色才能访问菜单。

如果您没有为每个单独的菜单定义角色,则此数组将用作回退。

菜单显示

有多种方法可以在菜单内创建Vue

自定义控制器

此包附带一个抽象控制器(Kazetenn\Admin\Controller\BaseAdminController)。当您扩展它时,render方法将自动为您提供包含已注册菜单的参数。

您可以使用它与现有的twig模板(Admin/Resources/views/admin_base.html.twig)一起使用或创建自己的。

页面

管理页面是一种确保您创建的代码将在管理模板中显示的方法。您可以使用这部分YAML进行配置。

pages:
    name:
      function: 'FQCN\Of\Your\file::yourFunction'

页面名称将用于生成页面URL。

函数必须符合一组特定的标准。

  • 它不能有参数(您可以使用构造器注入)。
  • 它必须返回一个包含HTML的字符串。

如果您正确地这样做,您可以使用 http://your_domain/admin_url/display_page/page_name 访问您的页面。

管理界面定制

默认管理界面是使用Bulma (https://bulma.org.cn/) 创建的。

许可证

页面组件在MIT许可证下。