Commit f602ed0193e76ffb628e9bcdf16128d92e418624

Authored by Alexey Boroda
2 parents 83309611 6e516b40

Merge remote-tracking branch 'origin/master'

backend/config/main.php
@@ -24,19 +24,6 @@ @@ -24,19 +24,6 @@
24 'feedback' => 'artbox\core\controllers\FeedbackController', 24 'feedback' => 'artbox\core\controllers\FeedbackController',
25 'weblog-article' => 'artbox\weblog\controllers\ArticleController', 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 'components' => [ 27 'components' => [
41 'assetManager' => [ 28 'assetManager' => [
42 'bundles' => [ 29 'bundles' => [
@@ -53,13 +40,6 @@ @@ -53,13 +40,6 @@
53 ], 40 ],
54 'appendTimestamp' => true, 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 'request' => [ 43 'request' => [
64 'csrfParam' => '_csrf-backend', 44 'csrfParam' => '_csrf-backend',
65 'baseUrl' => '/admin', 45 'baseUrl' => '/admin',
backend/views/settings/_contact_tab.php
@@ -27,6 +27,8 @@ @@ -27,6 +27,8 @@
27 ->textInput(); 27 ->textInput();
28 echo $form->field($model, 'city') 28 echo $form->field($model, 'city')
29 ->textInput(); 29 ->textInput();
  30 + echo $form->field($model, 'country')
  31 + ->textInput();
30 echo $form->field($model, 'lat') 32 echo $form->field($model, 'lat')
31 ->textInput(); 33 ->textInput();
32 echo $form->field($model, 'lon') 34 echo $form->field($model, 'lon')
common/config/main.php
@@ -3,11 +3,24 @@ @@ -3,11 +3,24 @@
3 3
4 return [ 4 return [
5 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', 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 'components' => [ 19 'components' => [
7 - 'cache' => [ 20 + 'cache' => [
8 'class' => 'yii\caching\FileCache', 21 'class' => 'yii\caching\FileCache',
9 ], 22 ],
10 - 'i18n' => [ 23 + 'i18n' => [
11 'translations' => [ 24 'translations' => [
12 'core' => [ 25 'core' => [
13 'class' => 'yii\i18n\PhpMessageSource', 26 'class' => 'yii\i18n\PhpMessageSource',
@@ -15,17 +28,24 @@ @@ -15,17 +28,24 @@
15 ], 28 ],
16 ], 29 ],
17 ], 30 ],
18 - 'filedb' => [ 31 + 'filedb' => [
19 'class' => 'yii2tech\filedb\Connection', 32 'class' => 'yii2tech\filedb\Connection',
20 'path' => '@common/config', 33 'path' => '@common/config',
21 ], 34 ],
22 - 'sitemapdb' => [ 35 + 'sitemapdb' => [
23 'class' => 'yii2tech\filedb\Connection', 36 'class' => 'yii2tech\filedb\Connection',
24 'path' => '@common/config', 37 'path' => '@common/config',
25 'primaryKeyName' => 'id', 38 'primaryKeyName' => 'id',
26 ], 39 ],
27 - 'seo' => [ 40 + 'seo' => [
28 'class' => SeoComponent::className(), 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,32 +2,32 @@
2 2
3 return [ 3 return [
4 1 => [ 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 'analytics_key' => '119240817', 24 'analytics_key' => '119240817',
25 - 'robots' => 'User-agent: Google 25 + 'robots' => 'User-agent: Google
26 Disallow: 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 \ No newline at end of file 34 \ No newline at end of file
frontend/controllers/PageController.php
@@ -29,6 +29,13 @@ @@ -29,6 +29,13 @@
29 29
30 $pages = Page::find() 30 $pages = Page::find()
31 ->with('lang') 31 ->with('lang')
  32 + ->where(
  33 + [
  34 + 'not',
  35 + [ 'id' => $id ],
  36 + ]
  37 + )
  38 + ->limit(5)
32 ->all(); 39 ->all();
33 40
34 return $this->render( 41 return $this->render(
@@ -54,7 +61,7 @@ @@ -54,7 +61,7 @@
54 ->with('lang') 61 ->with('lang')
55 ->one(); 62 ->one();
56 63
57 - if (!empty($model)) { 64 + if (!empty( $model )) {
58 if ($model->lang->alias_id !== Yii::$app->seo->aliasId) { 65 if ($model->lang->alias_id !== Yii::$app->seo->aliasId) {
59 throw new NotFoundHttpException('Wrong language'); 66 throw new NotFoundHttpException('Wrong language');
60 } 67 }
frontend/views/layouts/main.php
@@ -5,14 +5,19 @@ @@ -5,14 +5,19 @@
5 * @var SeoComponent $seo 5 * @var SeoComponent $seo
6 * @var User $user 6 * @var User $user
7 */ 7 */
8 -  
9 use artbox\core\components\SeoComponent; 8 use artbox\core\components\SeoComponent;
  9 + use artbox\core\helpers\ImageHelper;
10 use artbox\core\models\Feedback; 10 use artbox\core\models\Feedback;
  11 + use artbox\core\models\Page;
11 use artbox\core\models\User; 12 use artbox\core\models\User;
  13 + use common\models\Settings;
12 use frontend\assets\AppAsset; 14 use frontend\assets\AppAsset;
  15 + use noam148\imagemanager\models\ImageManager;
13 use yii\bootstrap\ActiveForm; 16 use yii\bootstrap\ActiveForm;
14 use yii\bootstrap\Nav; 17 use yii\bootstrap\Nav;
15 - use yii\helpers\Html; 18 + use yii\bootstrap\Html;
  19 + use yii\helpers\Json;
  20 + use yii\helpers\Url;
16 use yii\web\View; 21 use yii\web\View;
17 use yii\widgets\Breadcrumbs; 22 use yii\widgets\Breadcrumbs;
18 23
@@ -20,416 +25,473 @@ @@ -20,416 +25,473 @@
20 $user = \Yii::$app->user->identity; 25 $user = \Yii::$app->user->identity;
21 $seo = Yii::$app->get('seo'); 26 $seo = Yii::$app->get('seo');
22 $feedback = new Feedback(); 27 $feedback = new Feedback();
  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 + }
23 ?> 48 ?>
24 49
25 <?php $this->beginPage() ?> 50 <?php $this->beginPage() ?>
26 -  
27 - <!DOCTYPE html>  
28 - <html lang="<?= \Yii::$app->language ?>">  
29 - <head>  
30 - <meta charset="<?= \Yii::$app->charset ?>">  
31 - <meta name="viewport" content="width=device-width, initial-scale=1">  
32 - <!-- Responsivity for older IE -->  
33 - <!--[if lt IE 9]>  
34 - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>  
35 - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>  
36 - <![endif]-->  
37 - <?= Html::csrfMetaTags() ?>  
38 - <title><?= Html::encode($seo->title) ?></title>  
39 - <?php $this->head() ?>  
40 - </head>  
41 - <body>  
42 - <?php $this->beginBody() ?>  
43 - <div id="all">  
44 - <header>  
45 - <!-- *** TOP ***  
46 -_________________________________________________________ -->  
47 - <div id="top">  
48 - <div class="container">  
49 - <div class="row">  
50 - <div class="col-xs-5 contact">  
51 - <p class="hidden-sm hidden-xs">Contact us on +420 777 555 333 or hello@universal.com.</p>  
52 - <p class="hidden-md hidden-lg"><a href="#" data-animate-hover="pulse"><i class="fa fa-phone"></i></a>  
53 - <a href="#" data-animate-hover="pulse"><i class="fa fa-envelope"></i></a>  
54 - </p>  
55 - </div>  
56 - <div class="col-xs-7">  
57 - <div class="social">  
58 - <a href="#" class="external facebook" data-animate-hover="pulse"><i class="fa fa-facebook"></i></a>  
59 - <a href="#" class="external gplus" data-animate-hover="pulse"><i class="fa fa-google-plus"></i></a>  
60 - <a href="#" class="external twitter" data-animate-hover="pulse"><i class="fa fa-twitter"></i></a>  
61 - <a href="#" class="email" data-animate-hover="pulse"><i class="fa fa-envelope"></i></a>  
62 - </div>  
63 - </div>  
64 - </div>  
65 - </div>  
66 - </div>  
67 - <!-- *** TOP END *** -->  
68 -  
69 - <!-- *** NAVBAR ***  
70 - _________________________________________________________ -->  
71 - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200">  
72 -  
73 - <div class="navbar navbar-default yamm" role="navigation" id="navbar">  
74 51
75 - <div class="container">  
76 - <div class="navbar-header">  
77 -  
78 - <a class="navbar-brand home" href="index.html">  
79 - <img src="/img/logo.png" alt="Universal logo" class="hidden-xs hidden-sm">  
80 - <img src="/img/logo-small.png" alt="Universal logo" class="visible-xs visible-sm"><span class="sr-only">Universal - go to homepage</span>  
81 - </a>  
82 - <div class="navbar-buttons">  
83 - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">  
84 - <span class="sr-only">Toggle navigation</span>  
85 - <i class="fa fa-align-justify"></i>  
86 - </button>  
87 - </div>  
88 - </div>  
89 -  
90 - <div class="navbar-collapse collapse" id="navigation">  
91 - <?php  
92 - echo Nav::widget(  
93 - [  
94 - 'items' => [  
95 - [  
96 - 'label' => 'Home',  
97 - 'url' => [ 'site/index' ],  
98 - ],  
99 - [  
100 - 'label' => 'Contatcs',  
101 - 'url' => [ 'site/contact' ],  
102 - ],  
103 - [  
104 - 'label' => 'Login',  
105 - 'url' => [ 'site/login' ],  
106 - ],  
107 - ],  
108 - 'options' => [  
109 - 'class' => 'nav navbar-nav navbar-right',  
110 - ],  
111 - ]  
112 - );  
113 - ?>  
114 - </div>  
115 -  
116 -  
117 - <div class="collapse clearfix" id="search">  
118 -  
119 - <form class="navbar-form" role="search">  
120 - <div class="input-group">  
121 - <input type="text" class="form-control" placeholder="Search">  
122 - <span class="input-group-btn"> 52 + <!DOCTYPE html>
  53 + <html lang="<?= \Yii::$app->language ?>">
  54 + <head>
  55 + <meta charset="<?= \Yii::$app->charset ?>">
  56 + <meta name="viewport" content="width=device-width, initial-scale=1">
  57 + <!-- Responsivity for older IE -->
  58 + <!--[if lt IE 9]>
  59 + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  60 + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  61 + <![endif]-->
  62 + <?= Html::csrfMetaTags() ?>
  63 + <title><?= Html::encode($seo->title) ?></title>
  64 + <?php $this->head() ?>
  65 + </head>
  66 + <body>
  67 + <?php $this->beginBody() ?>
  68 + <div id="all">
  69 + <header>
  70 + <!-- *** TOP ***
  71 + _________________________________________________________ -->
  72 + <div id="top">
  73 + <div class="container">
  74 + <div class="row">
  75 + <div class="col-xs-5 contact">
  76 + <p class="hidden-sm hidden-xs">
  77 + <?php
  78 + if (!empty( $settings->phone )) {
  79 + echo \Yii::t('app', 'Contact us on ');
  80 + echo Html::a($settings->phone, "tel: {$settings->phone}");
  81 + if (!empty( $settings->email )) {
  82 + echo \Yii::t('app', ' or ');
  83 + echo Html::a($settings->email, "mailto:$settings->email");
  84 + }
  85 + }
  86 + ?>
  87 + </p>
  88 + <p class="hidden-md hidden-lg">
  89 + <a href="#" data-animate-hover="pulse"><i class="fa fa-phone"></i></a>
  90 + <a href="#" data-animate-hover="pulse"><i class="fa fa-envelope"></i></a>
  91 + </p>
  92 + </div>
  93 + <div class="col-xs-7">
  94 + <div class="social">
  95 + <?php
  96 + if (!empty( $settings->facebook )) {
  97 + echo Html::a(
  98 + Html::icon(
  99 + 'facebook',
  100 + [
  101 + 'prefix' => 'fa fa-',
  102 + ]
  103 + ),
  104 + $settings->facebook,
  105 + [
  106 + 'class' => 'external facebook',
  107 + 'data' => [
  108 + 'animate-hover' => 'pulse',
  109 + ],
  110 + ]
  111 + );
  112 + }
  113 + ?>
  114 + <?php
  115 + if (!empty( $settings->vk )) {
  116 + echo Html::a(
  117 + Html::icon(
  118 + 'vk',
  119 + [
  120 + 'prefix' => 'fa fa-',
  121 + ]
  122 + ),
  123 + $settings->vk,
  124 + [
  125 + 'class' => 'external vk',
  126 + 'data' => [
  127 + 'animate-hover' => 'pulse',
  128 + ],
  129 + ]
  130 + );
  131 + }
  132 + ?>
  133 + <?php
  134 + if (!empty( $settings->google )) {
  135 + echo Html::a(
  136 + Html::icon(
  137 + 'google-plus',
  138 + [
  139 + 'prefix' => 'fa fa-',
  140 + ]
  141 + ),
  142 + $settings->google,
  143 + [
  144 + 'class' => 'external gplus',
  145 + 'data' => [
  146 + 'animate-hover' => 'pulse',
  147 + ],
  148 + ]
  149 + );
  150 + }
  151 + ?>
  152 + <?php
  153 + if (!empty( $settings->twitter )) {
  154 + echo Html::a(
  155 + Html::icon(
  156 + 'twitter',
  157 + [
  158 + 'prefix' => 'fa fa-',
  159 + ]
  160 + ),
  161 + $settings->twitter,
  162 + [
  163 + 'class' => 'external twitter',
  164 + 'data' => [
  165 + 'animate-hover' => 'pulse',
  166 + ],
  167 + ]
  168 + );
  169 + }
  170 + ?>
  171 + <?php
  172 + if (!empty( $settings->ok )) {
  173 + echo Html::a(
  174 + Html::icon(
  175 + 'odnoklassniki',
  176 + [
  177 + 'prefix' => 'fa fa-',
  178 + ]
  179 + ),
  180 + $settings->ok,
  181 + [
  182 + 'class' => 'external odnoklassniki',
  183 + 'data' => [
  184 + 'animate-hover' => 'pulse',
  185 + ],
  186 + ]
  187 + );
  188 + }
  189 + ?>
  190 + <?php
  191 + if (!empty( $settings->email )) {
  192 + echo Html::a(
  193 + Html::icon(
  194 + 'envelope',
  195 + [
  196 + 'prefix' => 'fa fa-',
  197 + ]
  198 + ),
  199 + "mailto:$settings->email",
  200 + [
  201 + 'class' => 'email',
  202 + 'data' => [
  203 + 'animate-hover' => 'pulse',
  204 + ],
  205 + ]
  206 + );
  207 + }
  208 + ?>
  209 + </div>
  210 + </div>
  211 + </div>
  212 + </div>
  213 + </div>
  214 + <!-- *** TOP END *** -->
  215 +
  216 + <!-- *** NAVBAR ***
  217 + _________________________________________________________ -->
  218 + <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200">
  219 +
  220 + <div class="navbar navbar-default yamm" role="navigation" id="navbar">
  221 +
  222 + <div class="container">
  223 + <div class="navbar-header">
  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 + ?>
  235 + </a>
  236 + <div class="navbar-buttons">
  237 + <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
  238 + <span class="sr-only">Toggle navigation</span>
  239 + <i class="fa fa-align-justify"></i>
  240 + </button>
  241 + </div>
  242 + </div>
  243 +
  244 + <div class="navbar-collapse collapse" id="navigation">
  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 + }
  260 + echo Nav::widget(
  261 + [
  262 + 'items' => [
  263 + [
  264 + 'label' => \Yii::t('app', 'Home'),
  265 + 'url' => [ 'site/index' ],
  266 + ],
  267 + [
  268 + 'label' => \Yii::t('app', 'Pages'),
  269 + 'items' => $pagesLinks,
  270 + 'visible' => count($pagesLinks),
  271 + ],
  272 + [
  273 + 'label' => \Yii::t('app', 'Contatcs'),
  274 + 'url' => [ 'site/contact' ],
  275 + ],
  276 + [
  277 + 'label' => \Yii::t('app', 'About'),
  278 + 'url' => [ 'site/about' ],
  279 + ],
  280 + ],
  281 + 'options' => [
  282 + 'class' => 'nav navbar-nav navbar-right',
  283 + ],
  284 + ]
  285 + );
  286 + ?>
  287 + </div>
  288 +
  289 +
  290 + <div class="collapse clearfix" id="search">
  291 +
  292 + <form class="navbar-form" role="search">
  293 + <div class="input-group">
  294 + <input type="text" class="form-control" placeholder="Search">
  295 + <span class="input-group-btn">
123 296
124 <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> 297 <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>
125 298
126 </span> 299 </span>
  300 + </div>
  301 + </form>
  302 +
  303 + </div>
  304 + <!--/.nav-collapse -->
  305 +
  306 + </div>
  307 +
  308 +
  309 + </div>
  310 + <!-- /#navbar -->
  311 +
  312 + </div>
  313 +
  314 + <!-- *** NAVBAR END *** -->
  315 +
  316 + </header>
  317 +
  318 + <!-- *** FeedBack MODAL ***
  319 + _________________________________________________________ -->
  320 +
  321 + <div class="modal fade" id="feedback-modal" tabindex="-1" role="dialog" aria-labelledby="Login" aria-hidden="true">
  322 + <div class="modal-dialog">
  323 +
  324 + <div class="modal-content">
  325 + <div class="modal-header">
  326 + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times</button>
  327 + <h3 class="modal-title" id="Login">Feedback</h3>
  328 + </div>
  329 + <div class="modal-body">
  330 +
  331 + <?php $form = ActiveForm::begin(
  332 + [
  333 + 'id' => 'feedback-form',
  334 + 'method' => 'POST',
  335 + 'action' => '/site/feedback',
  336 + ]
  337 + ); ?>
  338 +
  339 + <?= $form->field($feedback, 'name')
  340 + ->textInput(); ?>
  341 +
  342 + <?= $form->field($feedback, 'email')
  343 + ->textInput(); ?>
  344 +
  345 + <?= $form->field($feedback, 'phone')
  346 + ->textInput(); ?>
  347 +
  348 + <?= $form->field($feedback, 'message')
  349 + ->textarea(
  350 + [
  351 + 'rows' => 4,
  352 + ]
  353 + ); ?>
  354 +
  355 + <p class="text-center">
  356 + <?= Html::submitButton(
  357 + 'Send',
  358 + [
  359 + 'class' => 'send-form btn btn-lg btn-template-primary',
  360 + ]
  361 + ) ?>
  362 + </p>
  363 +
  364 + <?php ActiveForm::end(); ?>
  365 +
  366 + </div>
  367 + </div>
127 </div> 368 </div>
128 - </form>  
129 -  
130 </div> 369 </div>
131 - <!--/.nav-collapse -->  
132 -  
133 - </div>  
134 -  
135 -  
136 - </div>  
137 - <!-- /#navbar -->  
138 -  
139 - </div>  
140 -  
141 - <!-- *** NAVBAR END *** -->  
142 -  
143 - </header>  
144 -  
145 - <!-- *** FeedBack MODAL ***  
146 -_________________________________________________________ -->  
147 -  
148 - <div class="modal fade" id="feedback-modal" tabindex="-1" role="dialog" aria-labelledby="Login" aria-hidden="true">  
149 - <div class="modal-dialog">  
150 -  
151 - <div class="modal-content">  
152 - <div class="modal-header">  
153 - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times</button>  
154 - <h3 class="modal-title" id="Login">Feedback</h3>  
155 - </div>  
156 - <div class="modal-body">  
157 -  
158 - <?php $form = ActiveForm::begin(  
159 - [  
160 - 'id' => 'feedback-form',  
161 - 'method' => 'POST',  
162 - 'action' => '/site/feedback',  
163 - ]  
164 - ); ?>  
165 -  
166 - <?= $form->field($feedback, 'name')  
167 - ->textInput(); ?>  
168 -  
169 - <?= $form->field($feedback, 'email')  
170 - ->textInput(); ?>  
171 -  
172 - <?= $form->field($feedback, 'phone')  
173 - ->textInput(); ?>  
174 -  
175 - <?= $form->field($feedback, 'message')  
176 - ->textarea(  
177 - [  
178 - 'rows' => 4,  
179 - ]  
180 - ); ?>  
181 -  
182 - <p class="text-center">  
183 - <?= Html::submitButton(  
184 - 'Send',  
185 - [  
186 - 'class' => 'send-form btn btn-lg btn-template-primary',  
187 - ]  
188 - ) ?>  
189 - </p>  
190 -  
191 - <?php ActiveForm::end(); ?>  
192 -  
193 - </div>  
194 - </div>  
195 - </div>  
196 - </div>  
197 -  
198 - <!-- *** FeedBack MODAL END *** -->  
199 -  
200 - <!-- *** FeedBack MODAL ***  
201 -_________________________________________________________ -->  
202 -  
203 - <div class="modal fade" id="success-modal" tabindex="-1" role="dialog" aria-labelledby="Success" aria-hidden="true">  
204 - <div class="modal-dialog">  
205 -  
206 - <div class="modal-content">  
207 - <div class="modal-header">  
208 - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times</button>  
209 - <h3 class="modal-title" id="Success">Success</h3>  
210 - </div>  
211 - <div class="modal-body">  
212 -  
213 - <p>Thank for your reply, we will call you, maybe.</p>  
214 - <p class="text-center">  
215 - <button type="button" class="btn btn-template-primary" data-dismiss="modal">Close</button>  
216 - </p>  
217 - </div>  
218 - </div>  
219 - </div>  
220 - </div>  
221 -  
222 - <!-- *** FeedBack MODAL END *** -->  
223 -  
224 - <!-- *** Breadcrumbs *** -->  
225 - <div id="heading-breadcrumbs">  
226 - <div class="container">  
227 - <div class="row">  
228 - <div class="col-md-7">  
229 - <h1><?= $seo->h1 ?></h1>  
230 - </div>  
231 - <div class="col-md-5">  
232 - <?= Breadcrumbs::widget(  
233 - [  
234 - 'links' => isset($this->params[ 'breadcrumbs' ]) ? $this->params[ 'breadcrumbs' ] : [],  
235 - ]  
236 - ) ?>  
237 -  
238 - </div>  
239 - </div>  
240 - </div>  
241 - </div>  
242 - <!-- *** Breadcrumbs END *** -->  
243 -  
244 - <?= $content ?>  
245 -  
246 -  
247 - <!-- *** GET IT *** 370 +
  371 + <!-- *** FeedBack MODAL END *** -->
  372 +
  373 + <!-- *** FeedBack MODAL ***
248 _________________________________________________________ --> 374 _________________________________________________________ -->
249 -  
250 - <div id="get-it">  
251 - <div class="container">  
252 - <div class="col-md-8 col-sm-12">  
253 - <h3>Do you want cool website like this one?</h3>  
254 - </div>  
255 - <div class="col-md-4 col-sm-12">  
256 - <a href="#" class="btn btn-template-transparent-primary" data-toggle="modal" data-target="#feedback-modal">Contact us!</a>  
257 - </div>  
258 - </div>  
259 - </div>  
260 -  
261 -  
262 - <!-- *** GET IT END *** -->  
263 -  
264 - <!-- *** FOOTER ***  
265 -_________________________________________________________ -->  
266 -  
267 - <footer id="footer">  
268 - <div class="container">  
269 - <div class="col-md-6 col-sm-12">  
270 - <h4>About us</h4>  
271 -  
272 - <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>  
273 -  
274 - <hr>  
275 -  
276 - <h4>Join our monthly newsletter</h4>  
277 -  
278 - <form>  
279 - <div class="input-group">  
280 -  
281 - <input type="text" class="form-control">  
282 -  
283 - <span class="input-group-btn">  
284 -  
285 - <button class="btn btn-default" type="button"><i class="fa fa-send"></i></button>  
286 -  
287 - </span>  
288 - 375 +
  376 + <div class="modal fade" id="success-modal" tabindex="-1" role="dialog" aria-labelledby="Success" aria-hidden="true">
  377 + <div class="modal-dialog">
  378 +
  379 + <div class="modal-content">
  380 + <div class="modal-header">
  381 + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times</button>
  382 + <h3 class="modal-title" id="Success">Success</h3>
  383 + </div>
  384 + <div class="modal-body">
  385 +
  386 + <p>Thank for your reply, we will call you, maybe.</p>
  387 + <p class="text-center">
  388 + <button type="button" class="btn btn-template-primary" data-dismiss="modal">Close</button>
  389 + </p>
  390 + </div>
  391 + </div>
  392 + </div>
289 </div> 393 </div>
290 - <!-- /input-group -->  
291 - </form>  
292 -  
293 - <hr class="hidden-md hidden-lg hidden-sm">  
294 -  
295 - </div>  
296 - <!-- /.col-md-3 -->  
297 -  
298 - <!-- <div class="col-md-3 col-sm-6">-->  
299 - <!-- -->  
300 - <!-- <h4>Blog</h4>-->  
301 - <!-- -->  
302 - <!-- <div class="blog-entries">-->  
303 - <!-- <div class="item same-height-row clearfix">-->  
304 - <!-- <div class="image same-height-always">-->  
305 - <!-- <a href="#">-->  
306 - <!-- <img class="img-responsive" src="img/detailsquare.jpg" alt="">-->  
307 - <!-- </a>-->  
308 - <!-- </div>-->  
309 - <!-- <div class="name same-height-always">-->  
310 - <!-- <h5><a href="#">Blog post name</a></h5>-->  
311 - <!-- </div>-->  
312 - <!-- </div>-->  
313 - <!-- -->  
314 - <!-- <div class="item same-height-row clearfix">-->  
315 - <!-- <div class="image same-height-always">-->  
316 - <!-- <a href="#">-->  
317 - <!-- <img class="img-responsive" src="img/detailsquare.jpg" alt="">-->  
318 - <!-- </a>-->  
319 - <!-- </div>-->  
320 - <!-- <div class="name same-height-always">-->  
321 - <!-- <h5><a href="#">Blog post name</a></h5>-->  
322 - <!-- </div>-->  
323 - <!-- </div>-->  
324 - <!-- -->  
325 - <!-- <div class="item same-height-row clearfix">-->  
326 - <!-- <div class="image same-height-always">-->  
327 - <!-- <a href="#">-->  
328 - <!-- <img class="img-responsive" src="img/detailsquare.jpg" alt="">-->  
329 - <!-- </a>-->  
330 - <!-- </div>-->  
331 - <!-- <div class="name same-height-always">-->  
332 - <!-- <h5><a href="#">Very very long blog post name</a></h5>-->  
333 - <!-- </div>-->  
334 - <!-- </div>-->  
335 - <!-- </div>-->  
336 - <!-- -->  
337 - <!-- <hr class="hidden-md hidden-lg">-->  
338 - <!-- -->  
339 - <!-- </div>-->  
340 - <!-- /.col-md-3 -->  
341 -  
342 - <div class="col-md-4 col-sm-12 col-md-offset-2">  
343 -  
344 - <h4>Contact</h4>  
345 -  
346 - <p><strong>Universal Ltd.</strong>  
347 - <br>13/25 New Avenue  
348 - <br>Newtown upon River  
349 - <br>45Y 73J  
350 - <br>England  
351 - <br>  
352 - <strong>Great Britain</strong>  
353 - </p> 394 +
  395 + <!-- *** FeedBack MODAL END *** -->
  396 +
  397 + <!-- *** Breadcrumbs *** -->
  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>
  416 + </div>
  417 + </div>
  418 + <?php
  419 + }
  420 + ?>
  421 + <!-- *** Breadcrumbs END *** -->
  422 +
  423 + <?= $content ?>
  424 +
  425 + <!-- *** FOOTER ***
  426 + _________________________________________________________ -->
  427 +
  428 + <footer id="footer">
  429 + <div class="container">
  430 + <div class="col-md-6 col-sm-12">
  431 + <?php
  432 + if (!empty( $settings->about )) {
  433 + ?>
  434 + <h4><?php echo \Yii::t('app', 'About us'); ?></h4>
  435 + <p><?php echo $settings->about; ?></p>
  436 + <?php
  437 + }
  438 + ?>
  439 + <a href="#" class="btn btn-template-transparent-primary" data-toggle="modal" data-target="#feedback-modal">Contact us!</a>
  440 + </div>
  441 +
  442 + <div class="col-md-4 col-sm-12 col-md-offset-2">
  443 +
  444 + <h4><?php echo \Yii::t('app', 'Contact'); ?></h4>
  445 +
  446 + <p>
  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 + ?>
  472 + </p>
354 473
355 - <a href="contact.html" class="btn btn-small btn-template-main">Go to contact page</a> 474 + <a href="contact.html" class="btn btn-small btn-template-transparent-primary">Go to contact page</a>
  475 +
  476 + <hr class="hidden-md hidden-lg hidden-sm">
  477 +
  478 + </div>
356 479
357 - <hr class="hidden-md hidden-lg hidden-sm">  
358 -  
359 - </div>  
360 - <!-- /.col-md-3 -->  
361 -  
362 -  
363 - <!-- <div class="col-md-3 col-sm-6">-->  
364 - <!-- -->  
365 - <!-- <h4>Photostream</h4>-->  
366 - <!-- -->  
367 - <!-- <div class="photostream">-->  
368 - <!-- <div>-->  
369 - <!-- <a href="#">-->  
370 - <!-- <img src="img/detailsquare.jpg" class="img-responsive" alt="#">-->  
371 - <!-- </a>-->  
372 - <!-- </div>-->  
373 - <!-- <div>-->  
374 - <!-- <a href="#">-->  
375 - <!-- <img src="img/detailsquare2.jpg" class="img-responsive" alt="#">-->  
376 - <!-- </a>-->  
377 - <!-- </div>-->  
378 - <!-- <div>-->  
379 - <!-- <a href="#">-->  
380 - <!-- <img src="img/detailsquare3.jpg" class="img-responsive" alt="#">-->  
381 - <!-- </a>-->  
382 - <!-- </div>-->  
383 - <!-- <div>-->  
384 - <!-- <a href="#">-->  
385 - <!-- <img src="img/detailsquare3.jpg" class="img-responsive" alt="#">-->  
386 - <!-- </a>-->  
387 - <!-- </div>-->  
388 - <!-- <div>-->  
389 - <!-- <a href="#">-->  
390 - <!-- <img src="img/detailsquare2.jpg" class="img-responsive" alt="#">-->  
391 - <!-- </a>-->  
392 - <!-- </div>-->  
393 - <!-- <div>-->  
394 - <!-- <a href="#">-->  
395 - <!-- <img src="img/detailsquare.jpg" class="img-responsive" alt="#">-->  
396 - <!-- </a>-->  
397 - <!-- </div>-->  
398 - <!-- </div>-->  
399 - <!-- -->  
400 - <!-- </div>-->  
401 - <!-- /.col-md-3 -->  
402 - </div>  
403 - <!-- /.container -->  
404 - </footer>  
405 - <!-- /#footer -->  
406 -  
407 - <!-- *** FOOTER END *** -->  
408 -  
409 - <!-- *** COPYRIGHT ***  
410 -_________________________________________________________ -->  
411 -  
412 - <div id="copyright">  
413 - <div class="container">  
414 - <div class="col-md-12">  
415 - <p class="pull-left">&copy; 2015. Your company / name goes here</p>  
416 - <p class="pull-right">Template by <a href="https://bootstrapious.com">Bootstrapious</a> &  
417 - <a href="https://remoteplease.com">Remote Please</a>  
418 - <!-- Not removing these links is part of the license conditions of the template. Thanks for understanding :) If you want to use the template without the attribution links, you can do so after supporting further themes development at https://bootstrapious.com/donate -->  
419 - </p>  
420 - 480 + <div class="col-md-12">
  481 + <p class="pull-left">&copy; 2015. <?= $settings->name; ?></p>
  482 + </div>
  483 + </div>
  484 + <!-- /.container -->
  485 + </footer>
  486 + <!-- /#footer -->
  487 +
  488 + <!-- *** FOOTER END *** -->
  489 +
  490 + <span id="back-to-top" title="Back to top"><i class="fa fa-arrow-up"></i></span>
  491 +
421 </div> 492 </div>
422 - </div>  
423 - </div>  
424 - <!-- /#copyright -->  
425 -  
426 - <!-- *** COPYRIGHT END *** -->  
427 -  
428 - <span id="back-to-top" title="Back to top"><i class="fa fa-arrow-up"></i></span>  
429 -  
430 - </div>  
431 - <!-- /#all -->  
432 - <?php $this->endBody() ?>  
433 - </body>  
434 - </html> 493 + <!-- /#all -->
  494 + <?php $this->endBody() ?>
  495 + </body>
  496 + </html>
435 <?php $this->endPage() ?> 497 <?php $this->endPage() ?>
436 \ No newline at end of file 498 \ No newline at end of file
frontend/views/page/view.php
@@ -10,84 +10,84 @@ @@ -10,84 +10,84 @@
10 * @var Page[] $pages 10 * @var Page[] $pages
11 * @var SeoComponent $seo 11 * @var SeoComponent $seo
12 */ 12 */
13 -  
14 $seo = \Yii::$app->get('seo'); 13 $seo = \Yii::$app->get('seo');
  14 + $this->params[ 'breadcrumbs' ][] = $seo->title;
15 ?> 15 ?>
16 16
17 <div id="content"> 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 </div> 87 </div>
80 - <!-- /.banner -->  
81 - </div>  
82 - <!-- /.col-md-3 -->  
83 -  
84 - <!-- *** RIGHT COLUMN END *** -->  
85 - 88 + <!-- /.row -->
86 89
87 </div> 90 </div>
88 - <!-- /.row -->  
89 -  
90 - </div>  
91 - <!-- /.container --> 91 + <!-- /.container -->
92 </div> 92 </div>
93 <!-- /#content --> 93 <!-- /#content -->
frontend/web/css/custom.css
@@ -110,4 +110,21 @@ @@ -110,4 +110,21 @@
110 110
111 #back-to-top.show { 111 #back-to-top.show {
112 opacity: 1; 112 opacity: 1;
  113 +}
  114 +
  115 +#top .social a:hover.vk {
  116 + background: #507299;
  117 +}
  118 +
  119 +#top .social a:hover.odnoklassniki {
  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;
113 } 130 }
114 \ No newline at end of file 131 \ No newline at end of file
frontend/web/img/no-image.png 0 → 100644

748 Bytes