open20/amos-tag

此包的最新版本(1.10.0)没有可用的许可信息。

AMOS TAG 系统

1.10.0 2023-05-23 10:48 UTC

README

#Amos Tag

标签和兴趣区域的扩展。

安装

  1. 安装此扩展的首选方式是通过 composer

运行以下命令之一

composer require open20/amos-tag

或添加此行

"open20/amos-tag": "dev-master"

到您的 composer.json 文件的 require 部分。

  1. 将模块添加到后端主配置中

    'modules' => [
        'tag' => [
            'class' => 'open20\amos\tag\AmosTag',
            'modelsEnabled' => [
                /**
                 * Add here the classnames of the models for whose you want to enable tags
                 * (i.e. 'open20\amos\news\models\News')
                 */
            ]
        ],
    ],
  2. 要启用用户配置文件兴趣区域(与内容标签匹配的标签),需要安装 amos-cwh

  3. 应用迁移

    a. amos-tag 迁移

    php yii migrate/up --migrationPath=@vendor/open20/amos-tag/src/migrations

    或添加此行到控制台中的迁移配置

    return [
        .
        .
        .
        '@vendor/open20/amos-tag/src/migrations',
        .
        .
        .
    ];

配置

标签管理适用于管理员角色 - url PlatformUrl /tag/manager。在标签管理器中,可以

  • 添加新的树或标签
  • 为特定模型启用标签树(通过根选择)- 对所有角色(rbac)或指定角色
  • 更改树设置,例如,根可见将允许用户在 TagWidget(见下文)中选择所有标签

小部件

Amos Tag 提供了两个小部件

  • TagWidget open20\amos\tag\widgets\TagWidget
    将标签树绘制出来以选择模型的值。在表单中使用示例
    echo open20\amos\tag\widgets\TagWidget::widget([
        'model' => $model,
        'attribute' => 'tagValues',
        'form' => \yii\base\Widget::$stack[0],
        'singleFixedTreeId' => $treeRoot,
        'id' => 'third-tree',
        'hideHeader' => true
    ]);

在搜索表单中,您可以使用相同的小部件,并具有以下选项

$params = \Yii::$app->request->getQueryParams();
echo \open20\amos\tag\widgets\TagWidget::widget([
    'model' => $model,
    'attribute' => 'tagValues',
    'form' => $form,
    'isSearch' => true,
    'form_values' => isset($params[$model->formName()]['tagValues']) ? $params[$model->formName()]['tagValues'] : []
]);

如果未指定 singleFixedTreeId,则考虑 $model 的所有启用的树(表 tag_models_auth_items_mm)。singleFixedTreeId 现在可以是数组(在 singleFixedTreeId 中的标签根将被考虑)。

  • ShowTagsWidget open20\amos\tag\widgets\ShowTagsWidget
    绘制模型的选定标签(在视图模式下)。可以指定一个树('rootId' 属性)或一组树('rootIdsArray' 属性)以显示;如果未指定,则考虑模型的全部启用的树。示例
 <?= \open20\amos\tag\widgets\ShowTagsWidget::widget([
    'model' => $model,
    'rootId' => $rootId
 ]) ?>