kr-solutions/krcms-bundle

symfony 2 的内容管理系统 (CMS) 包

安装: 210

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 1

公开问题: 1

类型:symfony-bundle

1.3.10 2018-09-20 19:15 UTC

README

用于集成到 (现有) Symfony 3 项目的 CMS。

易于与您自己的安全性和用户管理 (包) 连接。

安装

步骤 1: Composer

将 KRSolutionsKRCMSBundle 添加到您的 composer.json 中

{
    "require": {
        "kr-solutions/krcms-bundle": "~1",
    }
}

同时在 composer.json 的配置节点下添加 component-dir

{
    "config": {
        "component-dir": "web/assets"
    }
}

现在运行以下命令,让 composer 下载该包

composer update kr-solutions/krcms-bundle

步骤 2: 启用包

在 kernel 中启用该包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new KRSolutions\Bundle\KRCMSBundle\KRSolutionsKRCMSBundle(),
        new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
        new FM\ElfinderBundle\FMElfinderBundle(),
        // ...
    );
}

步骤 3: 导入 KRSolutionsKRCMSBundle 路由文件

可能在你所有的其他路由之前,但在安全路由之后,插入以下内容

(你可以更改前缀,但请记住在下一个步骤 (security.yml) 中使用相同的前缀)。

# app/config/routing.yml
kr_solutions_krcms_admin:
    resource: "@KRSolutionsKRCMSBundle/Resources/config/routing_admin.yml"
    prefix:   /cms

kr_solutions_krcms:
    resource: "@KRSolutionsKRCMSBundle/Resources/config/routing.yml"
    prefix:   /

步骤 4: 配置应用的安全.yml

使用 access_control 保护 CMS,您可以使用自己的角色

# app/config/security.yml
security:

    //....
    access_control:
        //....
        - { path: ^/cms/, role: ROLE_USER }

步骤 5: 最小配置

此包需要知道用于 CMS 用户的用户类。这可以是您的自定义类,使用您自己的登录界面等。

此用户类必须有一个名为 'id' 的标识字段以用于其关系。如果您使用另一个主字段名称:不幸的是,您可能需要更改它或分叉此包。

# app/config/config.yml

# Enable the translator
parameters:
    locale: en

framework:
    #....
    translator:      { fallbacks: ["%locale%"] }
    #....

# KRSolutionsKRCMSBundle configuration
kr_solutions_krcms:
    db_driver: orm # Currently only the orm driver is supported
    model:
        user_class: AppBundle\Entity\User

步骤 6: 安装资源并更新数据库模式

php bin/console assets:install --relative
php bin/console doctrine:schema:update --force

可选:实现用于在此 CMS 中显示的自定义用户名实现

系统正在尝试通过尝试从用户类中获取以下方法来确定用于在 CMS 中显示的用户名

  • getKRCMSUsername()
  • getUsername()
  • getId()