Commit 63296d615b63c239f1ac1b1fb9897b40ef9a990c

Authored by Alexey Boroda
1 parent 540d16cd

-Added gallery

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 @@ _________________________________________________________ --&gt;
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 -->
... ...