nyrodev/nyrocms-bundle

Symfony 的 CMS 扩展包,提供所有后台内容管理和公开控制器

安装: 544

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v5.0 2021-12-23 19:40 UTC

This package is auto-updated.

Last update: 2024-09-15 12:12:00 UTC


README

Symfony 的 CMS 扩展包

需要的 npm 包

  • copy-webpack-plugin
  • jquery
  • jquery-ui
  • jquery-mobile(用于幻灯片滑动功能)
npm i copy-webpack-plugin jquery jquery-ui jquery-mobile --save-dev

需要的配置

config/packages/nyrodev.yaml

parameters:
    adminPrefix: /admin
    localeNames:
        fr: Français
        en: English

nyro_dev_utility:
    db_driver: orm
    setLocale: true

nyro_dev_nyro_cms:
    model:
        namespace: App\Entity

config/packages/stof_doctrine_extensions.yaml

stof_doctrine_extensions:
    default_locale: "%locale%"
    translation_fallback: true
    class:
        loggable: NyroDev\UtilityBundle\EventListener\LoggableListener
        translatable: NyroDev\UtilityBundle\EventListener\TranslatableListener
    orm:
        default:
            tree: true
            sortable: true
            loggable: true
            translatable: true
            timestampable: true
            softdeleteable: true

config/packages/doctrine.yaml

doctrine:
    orm:
        filters:
            softdeleteable:
                class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
                enabled: true

config/routes/nyrocms.yaml

nyrocms_admin:
    resource: "@NyroDevNyroCmsBundle/Resources/config/routingAdmin.yaml"
    prefix:   /admin

frontenay:
    resource: frontenay@App\Controller\FrontController
    type: nyrocms

nyroCms 路由的类型也可以添加用 _ 分隔的元素

  • forceLang
  • homepage 以添加 _homepage 路由别名

config/security.yaml

security:
    password_hashers:
        Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
        App\Entity\User:
            algorithm: auto
    providers:
        db_provider:
            entity:
                class: App\Entity\User
    role_hierarchy:
        ROLE_SUPERADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        admin:
            pattern:    ^%adminPrefix%/.*
            provider: db_provider
            logout:
                path:   nyrocms_admin_security_logout
                target: nyrocms_admin_login
            form_login:
                login_path: nyrocms_admin_login
                check_path: nyrocms_admin_security_check
                default_target_path: nyrocms_admin_homepage
    access_control:
        - { path: ^%adminPrefix%/login, roles: PUBLIC_ACCESS }
        - { path: ^%adminPrefix%/forgot, roles: PUBLIC_ACCESS }
        - { path: ^%adminPrefix%/welcome, roles: PUBLIC_ACCESS }
        - { path: ^%adminPrefix%/contentHandler, roles: ROLE_DEVELOPPER }
        - { path: ^%adminPrefix%/userRole, roles: ROLE_SUPERADMIN }
        - { path: ^%adminPrefix%/user, roles: ROLE_SUPERADMIN }
        - { path: ^%adminPrefix%, roles: ROLE_ADMIN }

Webpack 配置条目所需

    .addEntry('js/admin/nyroCms', './vendor/nyrodev/nyrocms-bundle/Resources/public/js/nyroCms.js')
    .addEntry('css/admin/nyroCms', './vendor/nyrodev/nyrocms-bundle/Resources/public/css/nyroCms.scss')

    .addEntry('js/admin/nyroCmsComposer', './vendor/nyrodev/nyrocms-bundle/Resources/public/js/nyroCmsComposer.js')
    .addEntry('css/admin/nyroCmsComposer', './vendor/nyrodev/nyrocms-bundle/Resources/public/css/nyroCmsComposer.scss')

    .addPlugin(new CopyWebpackPlugin({
        patterns: [
            {from: 'vendor/nyrodev/utility-bundle/Resources/public/vendor/tinymce', to: '../tinymce'}
        ]
    }))

    .enableSassLoader()
    .autoProvidejQuery()

实体和映射创建命令

./bin/console nyrocms:createDbClasse

其他命令

./bin/console nyrocms:addUser
./bin/console nyrocms:addRootContent

编辑 config/bootstrap.php

$loader = require dirname(__DIR__).'/vendor/autoload.php';

覆盖模板

将文件从 Resources/views 复制到您自己的文件夹:src/Resources/NyroDevNyroCmsBundle/views/