public function actionIndex($alias = '') { // Определяем, выбрана или нет категория $category = null; if (!empty($alias)) { // Если выбрана категория $category = PublicationCategory::model()->published()->findByAlias($alias); if (is_null($category)) { throw new CHttpException(404); } $page = $category; $this->currentCategory = $category; } else { // Загружаем страницу "Новости" Yii::import("application.modules.page.PageModule"); Yii::import("application.modules.page.models.Page"); $page = Page::model()->findByPath("publications"); } // Показываем только публичные новости $model = new Publication('user_search'); $model->unsetAttributes(); // Категория if (!empty($category)) { $model->search_category = $category->id; } $dataProvider = $model->user_search(); $this->render('index', ['dataProvider' => $dataProvider, 'page' => $page, 'currentCategory' => $category]); }
public function loadModel($id) { if (($model = PublicationCategory::model()->findByPk($id)) === null) { throw new CHttpException(404, Yii::t('PublicationModule.publication', 'Page was not found!')); } return $model; }
public function run() { $models = PublicationCategory::model()->published()->findAll(['order' => 't.sort ASC']); if (empty($models)) { return; } $this->render($this->view, ['models' => $models, 'currentCategory' => $this->currentCategory]); }
public function loadData() { if (!($limit = (int) $this->module->rssCount)) { throw new CHttpException(404); } $criteria = new CDbCriteria(); $criteria->order = 't.date DESC'; $criteria->limit = $limit; $this->title = $this->yupe->siteName; $this->description = $this->yupe->siteDescription; $alias = Yii::app()->getRequest()->getQuery('alias'); if (!empty($categoryId)) { $category = PublicationCategory::model()->published()->findByAlias($alias); if (is_null($category)) { throw new CHttpException(404); } $this->title = $category->title; $this->description = $category->short_text; $criteria->scopes(['category' => $category->id]); } $this->data = Publication::model()->cache($this->yupe->coreCacheTime)->published()->with('user')->findAll($criteria); }
protected function refreshCategories() { $categories = $this->categoriesArray; PublicationToCategory::model()->deleteAllByAttributes(['publication_id' => $this->id]); if (is_array($categories)) { foreach ($categories as $id) { if (PublicationCategory::model()->exists('t.id = :id', [':id' => $id])) { $publicationToCategory = new PublicationToCategory(); $publicationToCategory->publication_id = $this->id; $publicationToCategory->category_id = $id; $publicationToCategory->save(); } } } }
<?php echo $form->dropDownListGroup($model, 'status', ['widgetOptions' => ['data' => $model->statusList, 'htmlOptions' => ['class' => 'popover-help', 'empty' => Yii::t('PublicationModule.publication', '--choose--'), 'data-original-title' => $model->getAttributeLabel('status'), 'data-content' => $model->getAttributeDescription('status'), 'data-container' => 'body']]]); ?> </div> <div class="col-sm-3"> <label></label> <?php echo $form->checkBoxGroup($model, 'on_main_page', ['widgetOptions' => ['htmlOptions' => ['class' => 'popover-help', 'data-original-title' => $model->getAttributeLabel('on_main_page'), 'data-content' => $model->getAttributeDescription('on_main_page')]]]); ?> </div> </div> <div class="row"> <div class="col-sm-7"> <?php echo $form->checkBoxListGroup($model, 'categoriesArray', ['widgetOptions' => ['data' => PublicationCategory::model()->categoryList, 'htmlOptions' => ['data-original-title' => $model->getAttributeLabel('categoriesArray'), 'data-content' => $model->getAttributeDescription('categoriesArray')]]]); ?> </div> </div> <div class="row"> <div class="col-sm-7"> <?php echo $form->textFieldGroup($model, 'title', ['widgetOptions' => ['htmlOptions' => ['data-original-title' => $model->getAttributeLabel('title'), 'data-content' => $model->getAttributeDescription('title')]]]); ?> </div> </div> <div class="row"> <div class="col-sm-7"> <?php echo $form->slugFieldGroup($model, 'alias', ['sourceAttribute' => 'title', 'widgetOptions' => ['htmlOptions' => ['class' => 'popover-help', 'data-original-title' => $model->getAttributeLabel('alias'), 'data-content' => $model->getAttributeDescription('alias'), 'placeholder' => Yii::t('PublicationModule.publication', 'For automatic generation leave this field empty')]]]);