コード例 #1
0
 public function actionTagPages($tag_name)
 {
     $tag = Tag::model()->findByAttributes(['name' => $tag_name]);
     if (!$tag) {
         $this->pageNotFound();
     }
     $this->page_title = t('Страницы с тегом') . ' ' . $tag->name;
     $tag_rel_table = TagRel::model()->tableName();
     $criteria = new CDbCriteria();
     $criteria->compare('t.status', Page::STATUS_PUBLISHED);
     $criteria->with = ['tags', 'sections'];
     $criteria->addCondition("t.id IN (\r\n            SELECT object_id FROM {$tag_rel_table}\r\n                WHERE tag_id = {$tag->id} AND\r\n                       model_id  = 'Page'\r\n        )");
     $data_provider = new CActiveDataProvider('Page', ['criteria' => $criteria, 'pagination' => ['pageSize' => '10']]);
     $this->render('index', ['data_provider' => $data_provider, 'tag' => $tag]);
 }
コード例 #2
0
ファイル: TagBehavior.php プロジェクト: blindest/Yii-CMS-2.0
 public function _deleteRels($exclude_ids)
 {
     $criteria = new CDbCriteria(['condition' => 'model_id=:model_id AND object_id=:object_id', 'params' => ['object_id' => $this->owner->id, 'model_id' => get_class($this->owner)]]);
     $criteria->addNotInCondition('tag_id', $exclude_ids);
     TagRel::model()->deleteAll($criteria);
 }
コード例 #3
0
ファイル: TagBehavior.php プロジェクト: nizsheanez/kur.ru
 public function _deleteRels()
 {
     TagRel::model()->deleteAll("object_id = '{$this->owner->id}' AND model_id = '" . get_class($this->owner) . "'");
 }