Exemplo n.º 1
0
 public function down()
 {
     $this->dropTable(Rubric::tableName());
     $this->dropTable(RubricTranslate::tableName());
     $this->dropTable(Post::tableName());
     $this->dropTable(PostTranslate::tableName());
 }
 public function down()
 {
     $this->addColumn(\tpoxa\cmars\models\Post::tableName(), 'section_id', 'INT NOT NULL');
     $this->dropColumn(\tpoxa\cmars\models\Post::tableName(), 'app_id');
     $this->dropColumn(\tpoxa\cmars\models\Rubric::tableName(), 'app_id');
     return true;
 }
Exemplo n.º 3
0
 public function actionView($alias)
 {
     $model = Post::getPostByAlias($alias);
     if ($model == null) {
         throw new \yii\web\HttpException(404, 'Page not found');
     }
     return $this->render($this->module->viewTemplate, ['model' => $model]);
 }
Exemplo n.º 4
0
 public function search($params)
 {
     $query = Post::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $this->recordsPerPage]]);
     $query->andWhere(['app_id' => \Yii::$app->getModule('cms')->app_id]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->leftJoin(PostTranslate::tableName() . ' as tr ', '' . Post::tableName() . '.id = tr.post_id AND tr.language = \'' . Yii::$app->language . '\'');
     $query->andWhere(['like', 'tr.title', $this->title]);
     $this->addCondition($query, 'alias', true);
     $this->addCondition($query, 'views', true);
     $this->addCondition($query, 'status', true);
     $this->addCondition($query, 'author_id', true);
     return $dataProvider;
 }
 public function down()
 {
     $this->addColumn(\tpoxa\cmars\models\Post::tableName(), 'preview_img', 'varchar(32) NULL');
     $this->addColumn(\tpoxa\cmars\models\Post::tableName(), 'youtube_code', 'varchar(32) NULL');
     return true;
 }
Exemplo n.º 6
0
 protected function findModel($id)
 {
     if (is_array($id)) {
         $model = Post::find()->where(['id' => $id])->all();
     } else {
         $model = Post::findOne($id);
     }
     if ($model !== null) {
         return $model;
     } else {
         throw new HttpException(404);
     }
 }
Exemplo n.º 7
0
Arquivo: Post.php Projeto: tpoxa/cmars
 public static function getPostByAlias($alias)
 {
     if ($alias) {
         $sql = "SELECT p.id, pt.full_text, pt.title, pt.meta_title,\n                    pt.meta_descriptions, pt.meta_keywords, pt.preview_text\n                FROM " . Post::tableName() . " as p\n                LEFT JOIN " . PostTranslate::tableName() . " as pt\n                   ON p.id = pt.post_id\n                WHERE pt.language = :lang\n                    AND p.alias = :alias AND p.app_id =:app_id ";
         return PostTranslate::findBySql($sql, [':lang' => Yii::$app->language, ':alias' => $alias, ':app_id' => \Yii::$app->getModule('cms')->app_id])->one();
         $serch = new PostSearch();
         $serch->search([]);
     }
     return false;
 }
Exemplo n.º 8
0
<?php

use yii\helpers\Html;
use kartik\grid\GridView;
use kartik\icons\Icon;
use common\models\User;
use tpoxa\cmars\models\Post;
$this->title = Yii::t('pages', 'Posts');
$this->params['breadcrumbs'][] = $this->title;
?>

<div class="row">
    <div class="col-lg-12">
        <?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'responsive' => true, 'hover' => true, 'showPageSummary' => false, 'showFooter' => false, 'export' => false, 'panel' => ['heading' => '<h3 class="panel-title">' . Icon::show('lock') . Yii::t('pages', 'Pages') . '</h3>', 'type' => 'default', 'before' => Html::a(Icon::show('plus') . Yii::t('pages', 'Create'), ['create'], ['class' => 'btn btn-success']), 'after' => Html::a(Icon::show('repeat') . Yii::t('pages', 'Reset'), ['index'], ['class' => 'btn btn-info'])], 'columns' => [['class' => 'kartik\\grid\\SerialColumn'], 'title', 'alias', ['attribute' => 'status', 'vAlign' => 'middle', 'value' => function ($model) {
    $postStatuses = Post::getStatusArray();
    return $postStatuses[$model->status];
}, 'filter' => Html::activeDropDownList($searchModel, 'status', $postStatuses, ['class' => 'form-control', 'prompt' => Yii::t('pages', 'Status')])], 'views', ['header' => Yii::t('pages', 'Actions'), 'class' => 'kartik\\grid\\ActionColumn', 'dropdown' => false, 'width' => '200px', 'viewOptions' => ['title' => Yii::t('pages', 'Details')], 'updateOptions' => ['title' => Yii::t('pages', 'Edit page')], 'deleteOptions' => ['title' => Yii::t('pages', 'Delete action')]], ['class' => 'kartik\\grid\\CheckboxColumn']]]);
?>
    </div>
</div>