diff --git a/frontend/controllers/EventController.php b/frontend/controllers/EventController.php new file mode 100755 index 0000000..344fe26 --- /dev/null +++ b/frontend/controllers/EventController.php @@ -0,0 +1,164 @@ +with( + [ + 'language', + ] + ) + ->orderBy([ 'sort' => SORT_ASC ]) + ->all(); + + + $dataProvider = new ActiveDataProvider( + [ + 'query' => Event::find() + ->orderBy( + [ + 'created_at' => SORT_DESC, + ] + ) + ->joinWith('language') + ->where([ 'event.status' => true ]) + ->andFilterWhere( + [ + 'ilike', + 'event_lang.title', + $q, + ] + ) + ->distinct(), + 'pagination' => [ + 'pageSize' => 3, + ], + ] + ); + + return $this->render( + 'index', + [ + 'tags' => $tags, + 'dataProvider' => $dataProvider, + ] + ); + } + + public function actionView($id) + { + $model = $this->findModel($id); + + $tags = Tag::find() + ->with([ 'language' ]) + ->orderBy([ 'sort' => SORT_ASC ]) + ->all(); + + return $this->render( + 'view', + [ + 'tags' => $tags, + 'model' => $model, + ] + ); + } + + + public function actionTag($id) + { + $tags = Tag::find() + ->with( + [ + 'language', + ] + ) + ->orderBy([ 'sort' => SORT_ASC ]) + ->all(); + + $model = Tag::find() + ->where( + [ + 'id' => $id, + ] + ) + ->with( + [ + 'articles', + ] + ) + ->one(); + + $dataProvider = new ActiveDataProvider( + [ + 'query' => $model->getEvents() + ->with( + [ + 'language', + ] + ) + ->where(['event.status' => true]) + ->orderBy( + [ + 'created_at' => SORT_DESC, + ] + ), + 'pagination' => [ + 'pageSize' => 3, + ], + ] + ); + + return $this->render( + 'tag', + [ + 'tags' => $tags, + 'dataProvider' => $dataProvider, + 'model' => $model, + ] + ); + } + + /** + * @param $id + * + * @return Event + * @throws \yii\web\NotFoundHttpException + */ + protected function findModel($id) + { + /** + * @var Event | null $model + */ + $model = Event::find() + ->where([ 'id' => $id ]) + ->with( + [ + 'language', + 'tags.language', + ] + ) + ->andWhere([ 'status' => true ]) + ->one(); + + if (empty($model)) { + throw new NotFoundHttpException(\Yii::t('app', 'Article not found')); + } else { + return $model; + } + } + } \ No newline at end of file diff --git a/frontend/views/event/_event.php b/frontend/views/event/_event.php new file mode 100755 index 0000000..e811949 --- /dev/null +++ b/frontend/views/event/_event.php @@ -0,0 +1,79 @@ + + +
+
+ +
+

title; ?>

+
+ categories)) { ?> +

Без категории

+ categories as $category) { + $i++; + ?> +

+ title?> + categories)) { + echo ' '; + } else { + echo ', '; + } + ?>

+ +

+ formatter->asDate($model->created_at); ?> + +

+
+

body_preview; ?>

+

+ $model->alias + ], + [ + 'class' => 'btn btn-template-main', + ] + ) ?> +

+
+
+
diff --git a/frontend/views/event/index.php b/frontend/views/event/index.php new file mode 100755 index 0000000..acc83bf --- /dev/null +++ b/frontend/views/event/index.php @@ -0,0 +1,89 @@ +get('seo'); + + $this->params[ 'breadcrumbs' ][] = \Yii::t('app', 'Events'); + +?> + +
+
+
+ + + + $dataProvider, + 'itemView' => '_event', + 'options' => [ + 'class' => 'col-md-9', + 'id' => 'blog-listing-medium', + ], + 'layout' => '{items}{pager}', + ] + ); ?> + + + + + + +
+ + + + + + + + + + + +
+ + + + +
+ +
+ +
+ \ No newline at end of file diff --git a/frontend/views/event/tag.php b/frontend/views/event/tag.php new file mode 100755 index 0000000..537579d --- /dev/null +++ b/frontend/views/event/tag.php @@ -0,0 +1,100 @@ +get('seo'); + + $this->params[ 'breadcrumbs' ][] = [ + 'label' => \Yii::t('app', 'Events'), + 'url' => [ 'blog/index' ], + ]; + + $this->params[ 'breadcrumbs' ][] = $seo->title; + +?> + +
+
+
+ + + + + + + + + + + + + + $dataProvider, + 'itemView' => '_event', + 'options' => [ + 'class' => 'col-md-9', + 'id' => 'blog-listing-medium', + ], + 'layout' => '{items}{pager}', + ] + ); ?> + + + + + + +
+ + + + + + + + +
+ + + + +
+ +
+ +
+ \ No newline at end of file diff --git a/frontend/views/event/view.php b/frontend/views/event/view.php new file mode 100755 index 0000000..6f49096 --- /dev/null +++ b/frontend/views/event/view.php @@ -0,0 +1,207 @@ +params[ 'breadcrumbs' ][] = [ + 'label' => \Yii::t('app', 'Events'), + 'url' => [ 'blog/index' ], + ]; + + $this->params[ 'breadcrumbs' ][] = $model->title; + +?> + +
+
+ +
+ + + +
+ +

title; ?>

+ + tags)) { ?> + + + +

formatter->asDate( + $model->created_at + ); ?>

+ +
+ + body; ?> + +
+ + + +

2 comments

+ + +
+
+

+ +

+
+
+
Julie Alma
+

September 23, 2011 в 12:00

+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. + Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+

Ответить +

+
+
+ + + +
+ +
+

+ +

+
+ +
+
Louise Armero
+

23 сентября 2012 в 12:00

+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. + Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+

Ответить +

+
+ +
+ +
+ + + +
+ +

Leave comment

+ +
+
+ +
+
+ + +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ +
+
+ +
+
+ + +
+ +
+ + */ + ?> +
+ + + + + + +
+ + + + + + + +
+ + + + +
+ + +
+ + + + \ No newline at end of file diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index 1f66c77..eb36959 100755 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -307,7 +307,6 @@ _________________________________________________________ --> foreach ($category->pages as $page) { $pages[] = [ 'label' => $page->title, - // @TODO without index 0 not use createUrl 'url' => Url::to(['alias' => $page->alias]), ]; } @@ -328,6 +327,10 @@ _________________________________________________________ --> 'label' => \Yii::t('app', 'Blog'), 'url' => [ 'blog/index' ], ]; + $items[] = [ + 'label' => \Yii::t('app', 'Events'), + 'url' => [ 'event/index' ], + ]; echo Nav::widget( [ 'items' => $items, diff --git a/frontend/views/site/index.php b/frontend/views/site/index.php index a570877..9b376fa 100755 --- a/frontend/views/site/index.php +++ b/frontend/views/site/index.php @@ -21,15 +21,17 @@ _________________________________________________________ -->
-