Commit 63296d615b63c239f1ac1b1fb9897b40ef9a990c
1 parent
540d16cd
-Added gallery
Showing
3 changed files
with
109 additions
and
78 deletions
Show diff stats
frontend/config/main.php
| ... | ... | @@ -3,53 +3,62 @@ |
| 3 | 3 | use artbox\core\components\SeoUrlManager; |
| 4 | 4 | |
| 5 | 5 | $params = array_merge( |
| 6 | - require(__DIR__ . '/../../common/config/params.php'), | |
| 7 | - require(__DIR__ . '/../../common/config/params-local.php'), | |
| 8 | - require(__DIR__ . '/params.php'), | |
| 9 | - require(__DIR__ . '/params-local.php') | |
| 10 | -); | |
| 11 | - | |
| 12 | -return [ | |
| 13 | - 'id' => 'app-frontend', | |
| 14 | - 'homeUrl' => '/', | |
| 15 | - 'basePath' => dirname(__DIR__), | |
| 16 | - 'bootstrap' => ['log'], | |
| 17 | - 'controllerNamespace' => 'frontend\controllers', | |
| 18 | - 'components' => [ | |
| 19 | - 'request' => [ | |
| 20 | - 'class' => LanguageRequest::className(), | |
| 21 | - 'csrfParam' => '_csrf-frontend', | |
| 22 | - 'baseUrl' => '', | |
| 23 | - ], | |
| 24 | - 'user' => [ | |
| 25 | - 'identityClass' => 'common\models\User', | |
| 26 | - 'enableAutoLogin' => true, | |
| 27 | - 'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true], | |
| 28 | - ], | |
| 29 | - 'session' => [ | |
| 30 | - // this is the name of the session cookie used for login on the frontend | |
| 31 | - 'name' => 'advanced-frontend', | |
| 32 | - ], | |
| 33 | - 'log' => [ | |
| 34 | - 'traceLevel' => YII_DEBUG ? 3 : 0, | |
| 35 | - 'targets' => [ | |
| 36 | - [ | |
| 37 | - 'class' => 'yii\log\FileTarget', | |
| 38 | - 'levels' => ['error', 'warning'], | |
| 6 | + require( __DIR__ . '/../../common/config/params.php' ), | |
| 7 | + require( __DIR__ . '/../../common/config/params-local.php' ), | |
| 8 | + require( __DIR__ . '/params.php' ), | |
| 9 | + require( __DIR__ . '/params-local.php' ) | |
| 10 | + ); | |
| 11 | + | |
| 12 | + return [ | |
| 13 | + 'id' => 'app-frontend', | |
| 14 | + 'homeUrl' => '/', | |
| 15 | + 'basePath' => dirname(__DIR__), | |
| 16 | + 'bootstrap' => [ 'log' ], | |
| 17 | + 'controllerNamespace' => 'frontend\controllers', | |
| 18 | + 'components' => [ | |
| 19 | + 'request' => [ | |
| 20 | + 'class' => LanguageRequest::className(), | |
| 21 | + 'csrfParam' => '_csrf-frontend', | |
| 22 | + 'baseUrl' => '', | |
| 23 | + ], | |
| 24 | + 'user' => [ | |
| 25 | + 'identityClass' => 'common\models\User', | |
| 26 | + 'enableAutoLogin' => true, | |
| 27 | + 'identityCookie' => [ | |
| 28 | + 'name' => '_identity-frontend', | |
| 29 | + 'httpOnly' => true, | |
| 39 | 30 | ], |
| 40 | 31 | ], |
| 41 | - ], | |
| 42 | - 'errorHandler' => [ | |
| 43 | - 'errorAction' => 'site/error', | |
| 44 | - ], | |
| 45 | - 'urlManager' => [ | |
| 46 | - 'class' => SeoUrlManager::className(), | |
| 47 | - 'enablePrettyUrl' => true, | |
| 48 | - 'showScriptName' => false, | |
| 49 | - 'rules' => [ | |
| 50 | - '\/robots.txt' => 'site/robots', | |
| 32 | + 'session' => [ | |
| 33 | + // this is the name of the session cookie used for login on the frontend | |
| 34 | + 'name' => 'advanced-frontend', | |
| 35 | + ], | |
| 36 | + 'log' => [ | |
| 37 | + 'traceLevel' => YII_DEBUG ? 3 : 0, | |
| 38 | + 'targets' => [ | |
| 39 | + [ | |
| 40 | + 'class' => 'yii\log\FileTarget', | |
| 41 | + 'levels' => [ | |
| 42 | + 'error', | |
| 43 | + 'warning', | |
| 44 | + ], | |
| 45 | + ], | |
| 46 | + ], | |
| 47 | + ], | |
| 48 | + 'errorHandler' => [ | |
| 49 | + 'errorAction' => 'site/error', | |
| 50 | + ], | |
| 51 | + 'urlManager' => [ | |
| 52 | + 'class' => SeoUrlManager::className(), | |
| 53 | + 'enablePrettyUrl' => true, | |
| 54 | + 'showScriptName' => false, | |
| 55 | + 'processRoutes' => [ | |
| 56 | + 'page/view', | |
| 57 | + ], | |
| 58 | + 'rules' => [ | |
| 59 | + '\/robots.txt' => 'site/robots', | |
| 60 | + ], | |
| 51 | 61 | ], |
| 52 | 62 | ], |
| 53 | - ], | |
| 54 | - 'params' => $params, | |
| 55 | -]; | |
| 63 | + 'params' => $params, | |
| 64 | + ]; | ... | ... |
frontend/controllers/PageController.php
| 1 | 1 | <?php |
| 2 | 2 | namespace frontend\controllers; |
| 3 | - | |
| 3 | + | |
| 4 | 4 | use artbox\core\components\SeoComponent; |
| 5 | 5 | use artbox\core\models\Page; |
| 6 | 6 | use yii\web\Controller; |
| 7 | 7 | use yii\web\NotFoundHttpException; |
| 8 | 8 | use Yii; |
| 9 | - | |
| 9 | + | |
| 10 | 10 | /** |
| 11 | 11 | * Class PageController |
| 12 | 12 | * |
| ... | ... | @@ -17,13 +17,22 @@ |
| 17 | 17 | public function actionView($id) |
| 18 | 18 | { |
| 19 | 19 | $model = $this->findModel($id); |
| 20 | - | |
| 20 | + | |
| 21 | 21 | /** |
| 22 | 22 | * @var SeoComponent $seo |
| 23 | 23 | */ |
| 24 | 24 | $seo = Yii::$app->get('seo'); |
| 25 | 25 | $seo->setModel($model->lang); |
| 26 | - | |
| 26 | + | |
| 27 | + if (strpos($model->lang->body, '[[gallery]]')) { | |
| 28 | + $splited = explode('[[gallery]]', $model->lang->body); | |
| 29 | + $body = array_shift($splited); | |
| 30 | + $lefts = implode('', $splited); | |
| 31 | + } else { | |
| 32 | + $body = $model->lang->body; | |
| 33 | + $lefts = null; | |
| 34 | + } | |
| 35 | + | |
| 27 | 36 | $pages = Page::find() |
| 28 | 37 | ->with('lang') |
| 29 | 38 | ->where( |
| ... | ... | @@ -38,18 +47,22 @@ |
| 38 | 47 | return $this->render( |
| 39 | 48 | 'view', |
| 40 | 49 | [ |
| 41 | - 'model' => $model, | |
| 42 | - 'pages' => $pages, | |
| 50 | + 'model' => $model, | |
| 51 | + 'pages' => $pages, | |
| 52 | + 'body' => $body, | |
| 53 | + 'lefts' => $lefts, | |
| 43 | 54 | 'images' => $model->getImages(), |
| 44 | 55 | ] |
| 45 | 56 | ); |
| 46 | 57 | } |
| 47 | - | |
| 58 | + | |
| 48 | 59 | protected function findModel($id) |
| 49 | 60 | { |
| 50 | 61 | /** |
| 51 | - * @var Page $model | |
| 62 | + * @var Page $model | |
| 63 | + * @var SeoComponent $seo | |
| 52 | 64 | */ |
| 65 | + $seo = \Yii::$app->get('seo'); | |
| 53 | 66 | $model = Page::find() |
| 54 | 67 | ->where( |
| 55 | 68 | [ |
| ... | ... | @@ -58,9 +71,9 @@ |
| 58 | 71 | ) |
| 59 | 72 | ->with('lang') |
| 60 | 73 | ->one(); |
| 61 | - | |
| 62 | - if (!empty( $model )) { | |
| 63 | - if ($model->lang->alias_id !== Yii::$app->seo->aliasId) { | |
| 74 | + | |
| 75 | + if (!empty($model)) { | |
| 76 | + if ($model->lang->alias_id !== $seo->aliasId) { | |
| 64 | 77 | throw new NotFoundHttpException('Wrong language'); |
| 65 | 78 | } |
| 66 | 79 | return $model; | ... | ... |
frontend/views/page/view.php
| ... | ... | @@ -10,7 +10,9 @@ |
| 10 | 10 | * @var Page $model |
| 11 | 11 | * @var Page[] $pages |
| 12 | 12 | * @var SeoComponent $seo |
| 13 | - * @var Image[] $images | |
| 13 | + * @var Image[] $images | |
| 14 | + * @var string $lefts | |
| 15 | + * @var string $body | |
| 14 | 16 | */ |
| 15 | 17 | $seo = \Yii::$app->get('seo'); |
| 16 | 18 | $this->params[ 'breadcrumbs' ][] = $seo->title; |
| ... | ... | @@ -23,31 +25,37 @@ |
| 23 | 25 | |
| 24 | 26 | <!-- *** LEFT COLUMN *** |
| 25 | 27 | _________________________________________________________ --> |
| 26 | - | |
| 27 | 28 | <div class="col-md-9 clearfix"> |
| 28 | - | |
| 29 | - <?php if (!empty($images)) { ?> | |
| 30 | - <section> | |
| 31 | - <div class="project owl-carousel"> | |
| 32 | - | |
| 33 | - <?php foreach ($images as $image) { ?> | |
| 34 | - <div class="item"> | |
| 35 | - <img class="img-responsive" src="<?=$image->getUrl()?>" alt=""> | |
| 36 | - </div> | |
| 37 | - <?php } ?> | |
| 38 | - | |
| 39 | - </div> | |
| 40 | - <!-- /.project owl-slider --> | |
| 41 | - </section> | |
| 42 | - <?php } ?> | |
| 43 | - | |
| 44 | 29 | <section> |
| 45 | 30 | <div id="text-page"> |
| 46 | 31 | |
| 47 | - <?= $model->lang->body ?> | |
| 32 | + <?= $body ?> | |
| 48 | 33 | |
| 49 | 34 | </div> |
| 50 | 35 | </section> |
| 36 | + | |
| 37 | + <?php if (!empty($images) && !empty($lefts)) { ?> | |
| 38 | + <section> | |
| 39 | + <div class="project owl-carousel"> | |
| 40 | + | |
| 41 | + <?php foreach ($images as $image) { ?> | |
| 42 | + <div class="item"> | |
| 43 | + <img class="img-responsive" src="<?= $image->getUrl() ?>" alt=""> | |
| 44 | + </div> | |
| 45 | + <?php } ?> | |
| 46 | + | |
| 47 | + </div> | |
| 48 | + <!-- /.project owl-slider --> | |
| 49 | + </section> | |
| 50 | + | |
| 51 | + <section> | |
| 52 | + <div id="text-page"> | |
| 53 | + | |
| 54 | + <?= $lefts ?> | |
| 55 | + | |
| 56 | + </div> | |
| 57 | + </section> | |
| 58 | + <?php } ?> | |
| 51 | 59 | |
| 52 | 60 | </div> |
| 53 | 61 | <!-- /.col-md-9 --> |
| ... | ... | @@ -88,13 +96,14 @@ _________________________________________________________ --> |
| 88 | 96 | </div> |
| 89 | 97 | |
| 90 | 98 | <!-- *** PAGES MENU END *** --> |
| 91 | - | |
| 92 | - | |
| 99 | + | |
| 100 | + <?php /* | |
| 93 | 101 | <div class="banner"> |
| 94 | 102 | <a href="shop-category.html"> |
| 95 | 103 | <img src="/img/banner.jpg" alt="sales 2014" class="img-responsive"> |
| 96 | 104 | </a> |
| 97 | 105 | </div> |
| 106 | + */ ?> | |
| 98 | 107 | <!-- /.banner --> |
| 99 | 108 | </div> |
| 100 | 109 | <!-- /.col-md-3 --> | ... | ... |