afzalroq/yii2-unit

Yii2 单元扩展

安装: 47

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

v1.1.0 2020-11-25 15:31 UTC

This package is auto-updated.

Last update: 2024-09-29 05:48:56 UTC


README

该扩展允许管理HTML内容、文件、图片的块。

安装

  • 使用composer安装
composer require afzalroq/yii2-unit "^1.1"
  • 在composer安装后 运行控制台命令以创建表
php yii migrate/up --migrationPath=@vendor/afzalroq/yii2-unit/migrations
  • 在公共配置存储和语言配置中设置。

语言索引与数据库列相关。

管理员面板选项卡按数组值顺序渲染。

起始id参数值为0。

'modules' => [
    'unit' => [ // don`t change module key
        'class' => '@afzalroq\unit\Module',
        'storageRoot' => $params['staticPath'],
        'storageHost' => $params['staticHostInfo'],
        'thumbs' => [ // 'sm' and 'md' keys are reserved
            'admin' => ['width' => 128, 'height' => 128],
            'thumb' => ['width' => 320, 'height' => 320],
        ],
        'languages' => [
            'ru' => [
                'id' => 0,
                'name' => 'Русский',
            ],
            'uz' => [
                'id' => 1,
                'name' => 'English',
            ],
        ],
    ],
]
  • 在管理员面板中添加以下链接以管理类别和块
/unit/categories/index
/unit/units/index?slug=your_category_slug_name

要使用BlockController操作,必须在路由中手动指定其类别缩略名。

###示例

扩展注册以下语言数组到 Yii::$app->params[] 以在视图中使用

\Yii::$app->params['cms']['languageIds'][$prefix] = $language['id'];
[
    'en' => 2,
    'ru' => 1,
    ...
]

\Yii::$app->params['cms']['languages'][$prefix] = $language['name'];
[
    'en' => 'English',
    ...
]


\Yii::$app->params['cms']['languages2'][$language['id']] = $language['name'];
[
    2 => 'English',
    ...
]

###前端小部件集成

按类别缩略名获取所有块

afzalroq\unit\entities\Unit::getBySlug($slug)

获取当前应用语言的每个块数据

$units = Unit::getBySlug($slug);
foreach ($units as $unit) {
    echo ($blockObject->getModelByType())->get();
}

待办事项

  • 从扩展根目录复制示例小部件以进行前端集成