abdualiym/yii2-block

Yii2 块扩展

安装: 221

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 2

开放问题: 0

类型:yii2-extension

1.1.4 2020-10-21 14:12 UTC

This package is auto-updated.

Last update: 2024-09-11 21:22:47 UTC


README

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

安装

  • 使用composer安装
composer require abdualiym/yii2-block "^1.1"
  • 在composer install之后,运行控制台命令创建表
php yii migrate/up --migrationPath=@vendor/abdualiym/yii2-block/migrations
  • 在通用配置存储和语言配置中进行设置。

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

通过数组值的顺序渲染管理面板选项卡。

从0开始设置id参数值。

'modules' => [
    'block' => [ // don`t change module key
        'class' => '@abdualiym\block\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',
            ],
        ],
    ],
]
  • 在管理面板中添加以下链接以管理类别和块
/block/categories/index
/block/block/index?slug=your_category_slug_name

要使用BlockController操作,您必须在路由中手动指定它们的类别slug。

示例

扩展将以下语言数组注册到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',
    ...
]

前端小部件集成

按类别slug获取所有块

abdualiym\block\entities\Blocks::getBySlug($slug)

获取每个块数据,针对当前应用语言

$blocks = Blocks::getBySlug($slug);
foreach ($blocks as $block) {
    echo ($blockObject->getModelByType())->get();
}

待办事项

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