jakharbek / yii2-topics
主题
dev-master
2018-02-28 11:18 UTC
Requires
- jakharbek/yii2-langs: dev-master
- kartik-v/yii2-tree-manager: @dev
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-20 20:11:02 UTC
README
主题
安装
安装此扩展的首选方式是通过composer。
运行
php composer.phar require --prefer-dist jakharbek/yii2-topics "*"
或者在您的composer.json
文件的require部分添加
"jakharbek/yii2-topics": "*"
使用
扩展安装完成后,只需在您的代码中使用它即可
您需要将控制器或操作连接到控制器
控制器
'controllerMap' => [ 'topics' => 'jakharbek\topics\controllers\TopicsController' ],
操作
public function actions() { return [ 'topics' => [ 'class' => 'jakharbek\topics\actions\TopicsAction' ] ]; }
您必须有一个扩展
jakharbek/yii2-langs
您需要连接i18n进行翻译
'jakhar-topics' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@vendor/jakharbek/yii2-topics/src/messages', 'sourceLanguage' => 'en', 'fileMap' => [ 'jakhar-topics' => 'main.php', ], ],
并迁移数据库
yii migrate --migrationPath=@vendor/jakharbek/yii2-topics/src/migrations
更新(Active Record)- 单个
与帖子元素示例
您必须将行为连接到您的数据库模型(Active Record)
'topic_model'=> [ 'class' => TopicModelBehavior::className(), 'attribute' => 'Topicsform', 'separator' => ',', ],
示例
use jakharbek\topics\behaviors\TopicModelBehavior; class Posts extends ActiveRecord { private $_topicsform; public function behaviors() { ... 'topic_model'=> [ 'class' => TopicModelBehavior::className(), 'attribute' => 'topicsform', 'separator' => ',', ], ... } ... public function getTopicsform(){ return $this->_topicsform; } public function setTopicsform($value){ return $this->_topicsform = $value; } }
之后,您需要添加您的widget表单。
jakharbek\topics\widgets\TopicsWidget::widget
示例
echo jakharbek\topics\widgets\TopicsWidget::widget([ 'selected' => $model->topicsSelected(), 'model_db' => $model,'name' => 'Posts[topicsform]' ]);
当然,不要忘记为您的模型指定链接
public function getPoststopics() { return $this->hasMany(Poststopics::className(), ['post_id' => 'post_id']); } public function getTopics() { return $this->hasMany(Topics::className(), ['id' => 'id'])->viaTable('poststopics', ['post_id' => 'post_id']); }
这就完成了!