nyrodev / nyrocms-bundle
Symfony 的 CMS 扩展包,提供所有后台内容管理和公开控制器
v5.0
2021-12-23 19:40 UTC
Requires
- becklyn/ordered-form-bundle: ^1.2
- nyrodev/php-template-bundle: ^5.0
- nyrodev/utility-bundle: ^5.0
- stof/doctrine-extensions-bundle: ^1.4
- symfony/asset: ^5.0
- symfony/console: ^5.0
- symfony/event-dispatcher: ^5.0
- symfony/form: ^5.0
- symfony/lock: ^5.0
- symfony/mailer: ^5.0
- symfony/monolog-bundle: ^3.2
- symfony/process: ^5.0
- symfony/security-bundle: ^5.0
- symfony/serializer-pack: *
- symfony/templating: ^5.0
- symfony/translation: ^5.0
- symfony/twig-bundle: ^5.0
- symfony/validator: ^5.0
- symfony/web-link: ^5.0
- symfony/yaml: ^5.0
Suggests
- doctrine/doctrine-migrations-bundle: To handle doctrine migration correctly
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/