Commit 6e516b406848beda8a6e2bdc50a4b9e7cd928785

Authored by Yarik
1 parent e9c6ad5a

Layout complete

backend/config/main.php
... ... @@ -24,19 +24,6 @@
24 24 'feedback' => 'artbox\core\controllers\FeedbackController',
25 25 'weblog-article' => 'artbox\weblog\controllers\ArticleController',
26 26 ],
27   - 'modules' => [
28   - 'imagemanager' => [
29   - 'class' => 'noam148\imagemanager\Module',
30   - 'canUploadImage' => true,
31   - 'canRemoveImage' => function () {
32   - return true;
33   - },
34   - 'setBlameableBehavior' => false,
35   - 'cssFiles' => [
36   - 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css',
37   - ],
38   - ],
39   - ],
40 27 'components' => [
41 28 'assetManager' => [
42 29 'bundles' => [
... ... @@ -53,13 +40,6 @@
53 40 ],
54 41 'appendTimestamp' => true,
55 42 ],
56   - 'imagemanager' => [
57   - 'class' => 'noam148\imagemanager\components\ImageManagerGetPath',
58   - 'mediaPath' => dirname(dirname(__DIR__)) . '/storage',
59   - 'cachePath' => 'assets/images',
60   - 'useFilename' => true,
61   - 'absoluteUrl' => false,
62   - ],
63 43 'request' => [
64 44 'csrfParam' => '_csrf-backend',
65 45 'baseUrl' => '/admin',
... ...
backend/views/settings/_contact_tab.php
... ... @@ -27,6 +27,8 @@
27 27 ->textInput();
28 28 echo $form->field($model, 'city')
29 29 ->textInput();
  30 + echo $form->field($model, 'country')
  31 + ->textInput();
30 32 echo $form->field($model, 'lat')
31 33 ->textInput();
32 34 echo $form->field($model, 'lon')
... ...
common/config/main.php
... ... @@ -3,11 +3,24 @@
3 3  
4 4 return [
5 5 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
  6 + 'modules' => [
  7 + 'imagemanager' => [
  8 + 'class' => 'noam148\imagemanager\Module',
  9 + 'canUploadImage' => true,
  10 + 'canRemoveImage' => function () {
  11 + return true;
  12 + },
  13 + 'setBlameableBehavior' => false,
  14 + 'cssFiles' => [
  15 + 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css',
  16 + ],
  17 + ],
  18 + ],
6 19 'components' => [
7   - 'cache' => [
  20 + 'cache' => [
8 21 'class' => 'yii\caching\FileCache',
9 22 ],
10   - 'i18n' => [
  23 + 'i18n' => [
11 24 'translations' => [
12 25 'core' => [
13 26 'class' => 'yii\i18n\PhpMessageSource',
... ... @@ -15,17 +28,24 @@
15 28 ],
16 29 ],
17 30 ],
18   - 'filedb' => [
  31 + 'filedb' => [
19 32 'class' => 'yii2tech\filedb\Connection',
20 33 'path' => '@common/config',
21 34 ],
22   - 'sitemapdb' => [
  35 + 'sitemapdb' => [
23 36 'class' => 'yii2tech\filedb\Connection',
24 37 'path' => '@common/config',
25 38 'primaryKeyName' => 'id',
26 39 ],
27   - 'seo' => [
  40 + 'seo' => [
28 41 'class' => SeoComponent::className(),
29 42 ],
  43 + 'imagemanager' => [
  44 + 'class' => 'noam148\imagemanager\components\ImageManagerGetPath',
  45 + 'mediaPath' => dirname(dirname(__DIR__)) . '/storage',
  46 + 'cachePath' => 'assets/images',
  47 + 'useFilename' => true,
  48 + 'absoluteUrl' => false,
  49 + ],
30 50 ],
31 51 ];
... ...
common/config/settings.php
... ... @@ -2,32 +2,32 @@
2 2  
3 3 return [
4 4 1 => [
5   - 'phone' => '+38 (044) 593-73-76',
6   - 'phone2' => '+38 (098) 468-07-64',
7   - 'skype' => 'artwebstudio',
8   - 'email' => 'artweb.ua@gmail.com',
9   - 'house' => '1-М',
10   - 'street' => 'пр. М. Бажана',
11   - 'office' => '25',
12   - 'city' => 'Киев',
13   - 'country' => '',
14   - 'lat' => '50.409382',
15   - 'lon' => '30.646391',
16   - 'facebook' => 'https://www.facebook.com/ArtWeb.ua/',
17   - 'vk' => 'https://vk.com/artwebua',
18   - 'ok' => 'https://ok.ru/artwebua',
19   - 'google' => 'https://plus.google.com/+ArtwebUaAgency',
20   - 'twitter' => 'https://twitter.com/ArtWeb_ua',
21   - 'name' => 'Artweb',
22   - 'logo' => '2',
23   - 'about' => 'Строим бизнес в онлайне',
  5 + 'phone' => '+38 (044) 593-73-76',
  6 + 'phone2' => '+38 (098) 468-07-64',
  7 + 'skype' => 'artwebstudio',
  8 + 'email' => 'artweb.ua@gmail.com',
  9 + 'house' => '1-М',
  10 + 'street' => 'пр. М. Бажана',
  11 + 'office' => '25',
  12 + 'city' => 'Киев',
  13 + 'country' => 'Украина',
  14 + 'lat' => '50.403696',
  15 + 'lon' => '30.641481',
  16 + 'facebook' => 'https://www.facebook.com/ArtWeb.ua/',
  17 + 'vk' => 'https://vk.com/artwebua',
  18 + 'ok' => 'https://ok.ru/artwebua',
  19 + 'google' => 'https://plus.google.com/+ArtwebUaAgency',
  20 + 'twitter' => 'https://twitter.com/ArtWeb_ua',
  21 + 'name' => 'Artweb',
  22 + 'logo' => '2',
  23 + 'about' => 'Строим бизнес в онлайне',
24 24 'analytics_key' => '119240817',
25   - 'robots' => 'User-agent: Google
  25 + 'robots' => 'User-agent: Google
26 26 Disallow:
27 27 ',
28   - 'ga_code' => '796967',
29   - 'ya_code' => '08908908',
30   - 'tag_manager' => '',
31   - 'id' => 1,
  28 + 'ga_code' => '796967',
  29 + 'ya_code' => '08908908',
  30 + 'tag_manager' => '',
  31 + 'id' => 1,
32 32 ],
33 33 ];
34 34 \ No newline at end of file
... ...
frontend/controllers/PageController.php
... ... @@ -29,6 +29,13 @@
29 29  
30 30 $pages = Page::find()
31 31 ->with('lang')
  32 + ->where(
  33 + [
  34 + 'not',
  35 + [ 'id' => $id ],
  36 + ]
  37 + )
  38 + ->limit(5)
32 39 ->all();
33 40  
34 41 return $this->render(
... ... @@ -54,7 +61,7 @@
54 61 ->with('lang')
55 62 ->one();
56 63  
57   - if (!empty($model)) {
  64 + if (!empty( $model )) {
58 65 if ($model->lang->alias_id !== Yii::$app->seo->aliasId) {
59 66 throw new NotFoundHttpException('Wrong language');
60 67 }
... ...
frontend/views/layouts/main.php
... ... @@ -5,15 +5,19 @@
5 5 * @var SeoComponent $seo
6 6 * @var User $user
7 7 */
8   -
9 8 use artbox\core\components\SeoComponent;
  9 + use artbox\core\helpers\ImageHelper;
10 10 use artbox\core\models\Feedback;
  11 + use artbox\core\models\Page;
11 12 use artbox\core\models\User;
12 13 use common\models\Settings;
13 14 use frontend\assets\AppAsset;
  15 + use noam148\imagemanager\models\ImageManager;
14 16 use yii\bootstrap\ActiveForm;
15 17 use yii\bootstrap\Nav;
16 18 use yii\bootstrap\Html;
  19 + use yii\helpers\Json;
  20 + use yii\helpers\Url;
17 21 use yii\web\View;
18 22 use yii\widgets\Breadcrumbs;
19 23  
... ... @@ -22,6 +26,25 @@
22 26 $seo = Yii::$app->get('seo');
23 27 $feedback = new Feedback();
24 28 $settings = Settings::getInstance();
  29 + $controller = Yii::$app->controller;
  30 + $default_controller = Yii::$app->defaultRoute;
  31 + $isHome = ( ( $controller->id === $default_controller ) && ( $controller->action->id === $controller->defaultAction ) ) ? true : false;
  32 + /**
  33 + * @var Page[] $pages
  34 + */
  35 + $pages = Page::find()
  36 + ->where([ 'in_menu' => true ])
  37 + ->with('lang.alias')
  38 + ->all();
  39 + $logo = null;
  40 + if ($settings->logo) {
  41 + $logo = ImageManager::findOne($settings->logo);
  42 + if ($logo) {
  43 + $logo = $logo->getImagePathPrivate();
  44 + } else {
  45 + \Yii::getAlias('@frontend/web/img/no-image.png');
  46 + }
  47 + }
25 48 ?>
26 49  
27 50 <?php $this->beginPage() ?>
... ... @@ -198,10 +221,17 @@
198 221  
199 222 <div class="container">
200 223 <div class="navbar-header">
201   -
202   - <a class="navbar-brand home" href="index.html">
203   - <img src="/img/logo.png" alt="Universal logo" class="hidden-xs hidden-sm">
204   - <img src="/img/logo-small.png" alt="Universal logo" class="visible-xs visible-sm"><span class="sr-only">Universal - go to homepage</span>
  224 +
  225 + <a class="navbar-brand home" href="<?php echo Url::home(); ?>">
  226 + <?php
  227 + echo ImageHelper::set($logo)
  228 + ->setHeight(42)
  229 + ->renderImage(
  230 + [
  231 + 'alt' => $settings->name,
  232 + ]
  233 + )
  234 + ?>
205 235 </a>
206 236 <div class="navbar-buttons">
207 237 <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
... ... @@ -213,20 +243,39 @@
213 243  
214 244 <div class="navbar-collapse collapse" id="navigation">
215 245 <?php
  246 + $pagesLinks = [];
  247 + foreach ($pages as $page) {
  248 + $route = [
  249 + 'page/view',
  250 + 'id' => $page->id,
  251 + ];
  252 + if (!empty( $page->lang->alias ) && !empty( $page->lang->alias->route )) {
  253 + $route = Json::decode($page->lang->alias->route);
  254 + }
  255 + $pagesLinks[] = [
  256 + 'label' => $page->lang->title,
  257 + 'url' => $route,
  258 + ];
  259 + }
216 260 echo Nav::widget(
217 261 [
218 262 'items' => [
219 263 [
220   - 'label' => 'Home',
  264 + 'label' => \Yii::t('app', 'Home'),
221 265 'url' => [ 'site/index' ],
222 266 ],
223 267 [
224   - 'label' => 'Contatcs',
  268 + 'label' => \Yii::t('app', 'Pages'),
  269 + 'items' => $pagesLinks,
  270 + 'visible' => count($pagesLinks),
  271 + ],
  272 + [
  273 + 'label' => \Yii::t('app', 'Contatcs'),
225 274 'url' => [ 'site/contact' ],
226 275 ],
227 276 [
228   - 'label' => 'Login',
229   - 'url' => [ 'site/login' ],
  277 + 'label' => \Yii::t('app', 'About'),
  278 + 'url' => [ 'site/about' ],
230 279 ],
231 280 ],
232 281 'options' => [
... ... @@ -346,45 +395,33 @@
346 395 <!-- *** FeedBack MODAL END *** -->
347 396  
348 397 <!-- *** Breadcrumbs *** -->
349   - <div id="heading-breadcrumbs">
350   - <div class="container">
351   - <div class="row">
352   - <div class="col-md-7">
353   - <h1><?= $seo->h1 ?></h1>
354   - </div>
355   - <div class="col-md-5">
356   - <?= Breadcrumbs::widget(
357   - [
358   - 'links' => isset( $this->params[ 'breadcrumbs' ] ) ? $this->params[ 'breadcrumbs' ] : [],
359   - ]
360   - ) ?>
361   -
  398 + <?php
  399 + if (!$isHome) {
  400 + ?>
  401 + <div id="heading-breadcrumbs">
  402 + <div class="container">
  403 + <div class="row">
  404 + <div class="col-md-7">
  405 + <h1><?= $seo->h1 ?></h1>
  406 + </div>
  407 + <div class="col-md-5">
  408 + <?= Breadcrumbs::widget(
  409 + [
  410 + 'links' => isset( $this->params[ 'breadcrumbs' ] ) ? $this->params[ 'breadcrumbs' ] : [],
  411 + ]
  412 + ) ?>
  413 +
  414 + </div>
  415 + </div>
362 416 </div>
363 417 </div>
364   - </div>
365   - </div>
  418 + <?php
  419 + }
  420 + ?>
366 421 <!-- *** Breadcrumbs END *** -->
367 422  
368 423 <?= $content ?>
369 424  
370   -
371   - <!-- *** GET IT ***
372   - _________________________________________________________ -->
373   -
374   - <div id="get-it">
375   - <div class="container">
376   - <div class="col-md-8 col-sm-12">
377   - <h3>Do you want cool website like this one?</h3>
378   - </div>
379   - <div class="col-md-4 col-sm-12">
380   - <a href="#" class="btn btn-template-transparent-primary" data-toggle="modal" data-target="#feedback-modal">Contact us!</a>
381   - </div>
382   - </div>
383   - </div>
384   -
385   -
386   - <!-- *** GET IT END *** -->
387   -
388 425 <!-- *** FOOTER ***
389 426 _________________________________________________________ -->
390 427  
... ... @@ -399,6 +436,7 @@
399 436 <?php
400 437 }
401 438 ?>
  439 + <a href="#" class="btn btn-template-transparent-primary" data-toggle="modal" data-target="#feedback-modal">Contact us!</a>
402 440 </div>
403 441  
404 442 <div class="col-md-4 col-sm-12 col-md-offset-2">
... ... @@ -406,19 +444,42 @@
406 444 <h4><?php echo \Yii::t('app', 'Contact'); ?></h4>
407 445  
408 446 <p>
409   - 13/25 New Avenue
410   - <br>Newtown upon River
411   - <br>45Y 73J
412   - <br>England
413   - <br>
414   - <strong>Great Britain</strong>
  447 + <?php
  448 + if (!empty( $settings->office )) {
  449 + echo \Yii::t(
  450 + 'app',
  451 + 'Office {office}',
  452 + [
  453 + 'office' => $settings->office,
  454 + ]
  455 + ) . Html::tag('br');
  456 + }
  457 + if (!empty( $settings->street )) {
  458 + echo $settings->street;
  459 + if (!empty( $settings->house )) {
  460 + echo " " . $settings->house;
  461 + }
  462 + echo Html::tag('br');
  463 + }
  464 + if (!empty( $settings->city )) {
  465 + echo $settings->city;
  466 + echo Html::tag('br');
  467 + }
  468 + if (!empty( $settings->country )) {
  469 + echo Html::tag('strong', $settings->country);
  470 + }
  471 + ?>
415 472 </p>
416   -
417   - <a href="contact.html" class="btn btn-small btn-template-main">Go to contact page</a>
  473 +
  474 + <a href="contact.html" class="btn btn-small btn-template-transparent-primary">Go to contact page</a>
418 475  
419 476 <hr class="hidden-md hidden-lg hidden-sm">
420 477  
421 478 </div>
  479 +
  480 + <div class="col-md-12">
  481 + <p class="pull-left">&copy; 2015. <?= $settings->name; ?></p>
  482 + </div>
422 483 </div>
423 484 <!-- /.container -->
424 485 </footer>
... ... @@ -426,20 +487,6 @@
426 487  
427 488 <!-- *** FOOTER END *** -->
428 489  
429   - <!-- *** COPYRIGHT ***
430   - _________________________________________________________ -->
431   -
432   - <div id="copyright">
433   - <div class="container">
434   - <div class="col-md-12">
435   - <p class="pull-left">&copy; 2015. <?= $settings->name; ?></p>
436   - </div>
437   - </div>
438   - </div>
439   - <!-- /#copyright -->
440   -
441   - <!-- *** COPYRIGHT END *** -->
442   -
443 490 <span id="back-to-top" title="Back to top"><i class="fa fa-arrow-up"></i></span>
444 491  
445 492 </div>
... ...
frontend/views/page/view.php
... ... @@ -10,84 +10,84 @@
10 10 * @var Page[] $pages
11 11 * @var SeoComponent $seo
12 12 */
13   -
14 13 $seo = \Yii::$app->get('seo');
  14 + $this->params[ 'breadcrumbs' ][] = $seo->title;
15 15 ?>
16 16  
17 17 <div id="content">
18   - <div class="container">
19   -
20   - <div class="row">
21   -
22   - <!-- *** LEFT COLUMN ***
23   -_________________________________________________________ -->
24   -
25   - <div class="col-md-9 clearfix">
26   - <section>
27   - <div id="text-page">
28   -
29   - <?= $model->lang->body ?>
30   -
31   - </div>
32   - </section>
33   -
34   - </div>
35   - <!-- /.col-md-9 -->
36   -
37   - <!-- *** LEFT COLUMN END *** -->
38   -
39   - <!-- *** RIGHT COLUMN ***
40   - _________________________________________________________ -->
41   -
42   - <div class="col-sm-3">
43   - <!-- *** PAGES MENU ***
44   -_________________________________________________________ -->
45   - <div class="panel panel-default sidebar-menu">
46   -
47   - <div class="panel-heading">
48   - <h3 class="panel-title">Pages</h3>
49   - </div>
50   -
51   - <div class="panel-body">
52   - <ul class="nav nav-pills nav-stacked">
53   - <?php
54   - foreach ($pages as $page) {
55   - echo Html::tag(
56   - 'li',
57   - Html::a(
58   - $page->lang->title,
59   - [
60   - 'page/view',
61   - 'id' => $page->id,
62   - ]
63   - )
64   - );
65   - }
66   - ?>
67   - </ul>
68   -
69   - </div>
70   - </div>
  18 + <div class="container">
71 19  
72   - <!-- *** PAGES MENU END *** -->
  20 + <div class="row">
  21 +
  22 + <!-- *** LEFT COLUMN ***
  23 + _________________________________________________________ -->
  24 +
  25 + <div class="col-md-9 clearfix">
  26 + <section>
  27 + <div id="text-page">
  28 +
  29 + <?= $model->lang->body ?>
  30 +
  31 + </div>
  32 + </section>
  33 +
  34 + </div>
  35 + <!-- /.col-md-9 -->
  36 +
  37 + <!-- *** LEFT COLUMN END *** -->
  38 +
  39 + <!-- *** RIGHT COLUMN ***
  40 + _________________________________________________________ -->
  41 +
  42 + <div class="col-sm-3">
  43 + <!-- *** PAGES MENU ***
  44 + _________________________________________________________ -->
  45 + <div class="panel panel-default sidebar-menu">
  46 +
  47 + <div class="panel-heading">
  48 + <h3 class="panel-title">Pages</h3>
  49 + </div>
  50 +
  51 + <div class="panel-body">
  52 + <ul class="nav nav-pills nav-stacked">
  53 + <?php
  54 + foreach ($pages as $page) {
  55 + echo Html::tag(
  56 + 'li',
  57 + Html::a(
  58 + $page->lang->title,
  59 + [
  60 + 'page/view',
  61 + 'id' => $page->id,
  62 + ]
  63 + )
  64 + );
  65 + }
  66 + ?>
  67 + </ul>
  68 +
  69 + </div>
  70 + </div>
  71 +
  72 + <!-- *** PAGES MENU END *** -->
  73 +
  74 +
  75 + <div class="banner">
  76 + <a href="shop-category.html">
  77 + <img src="/img/banner.jpg" alt="sales 2014" class="img-responsive">
  78 + </a>
  79 + </div>
  80 + <!-- /.banner -->
  81 + </div>
  82 + <!-- /.col-md-3 -->
  83 +
  84 + <!-- *** RIGHT COLUMN END *** -->
73 85  
74 86  
75   - <div class="banner">
76   - <a href="shop-category.html">
77   - <img src="/img/banner.jpg" alt="sales 2014" class="img-responsive">
78   - </a>
79 87 </div>
80   - <!-- /.banner -->
81   - </div>
82   - <!-- /.col-md-3 -->
83   -
84   - <!-- *** RIGHT COLUMN END *** -->
85   -
  88 + <!-- /.row -->
86 89  
87 90 </div>
88   - <!-- /.row -->
89   -
90   - </div>
91   - <!-- /.container -->
  91 + <!-- /.container -->
92 92 </div>
93 93 <!-- /#content -->
... ...
frontend/web/css/custom.css
... ... @@ -112,14 +112,19 @@
112 112 opacity: 1;
113 113 }
114 114  
115   -#content {
116   - height: 2000px;
117   -}
118   -
119 115 #top .social a:hover.vk {
120 116 background: #507299;
121 117 }
122 118  
123 119 #top .social a:hover.odnoklassniki {
124 120 background: #ee8208;
  121 +}
  122 +
  123 +#navigation .navbar-nav ul.dropdown-menu li.active a {
  124 + background: none;
  125 + color: white;
  126 +}
  127 +
  128 +#navigation .navbar-nav ul.dropdown-menu li.active {
  129 + background: #38a7bb;
125 130 }
126 131 \ No newline at end of file
... ...
frontend/web/img/no-image.png 0 → 100644

748 Bytes