open20 / amos-tag
此包的最新版本(1.10.0)没有可用的许可信息。
AMOS TAG 系统
1.10.0
2023-05-23 10:48 UTC
Requires
- php: >=5.4.0
- creocoder/yii2-nested-sets: 0.9.*
- lispa/yii2-tree-manager: ~2.0.0
- open20/amos-admin: >=1.8
- open20/amos-core: ~1.9
- open20/amos-dashboard: ~1.5
- open20/amos-layout: ^1.11.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-23 13:44:25 UTC
README
#Amos Tag
标签和兴趣区域的扩展。
安装
- 安装此扩展的首选方式是通过 composer。
运行以下命令之一
composer require open20/amos-tag
或添加此行
"open20/amos-tag": "dev-master"
到您的 composer.json
文件的 require 部分。
-
将模块添加到后端主配置中
'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') */ ] ], ],
-
要启用用户配置文件兴趣区域(与内容标签匹配的标签),需要安装 amos-cwh
-
应用迁移
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
]) ?>