Commit 10ec2a3b1b4e5eb1f0d5cfa29c7be3579671a86d
1 parent
d866a1ad
feedback
Showing
9 changed files
with
669 additions
and
481 deletions
Show diff stats
backend/controllers/FeedbackController.php
| ... | ... | @@ -44,12 +44,9 @@ |
| 44 | 44 | 'index' => [ |
| 45 | 45 | 'class' => Index::className(), |
| 46 | 46 | 'columns' => [ |
| 47 | - 'name' => [ | |
| 47 | + 'phone' => [ | |
| 48 | 48 | 'type' => Index::ACTION_COL, |
| 49 | 49 | ], |
| 50 | - 'email' => [ | |
| 51 | - 'type' => Index::STRING_COL | |
| 52 | - ], | |
| 53 | 50 | 'status' => [ |
| 54 | 51 | 'type' => Index::STATUS_COL, |
| 55 | 52 | ], |
| ... | ... | @@ -74,22 +71,10 @@ |
| 74 | 71 | ], |
| 75 | 72 | 'fields' => [ |
| 76 | 73 | [ |
| 77 | - 'name' => 'name', | |
| 78 | - 'type' => Form::STRING, | |
| 79 | - ], | |
| 80 | - [ | |
| 81 | - 'name' => 'email', | |
| 82 | - 'type' => Form::STRING, | |
| 83 | - ], | |
| 84 | - [ | |
| 85 | 74 | 'name' => 'phone', |
| 86 | 75 | 'type' => Form::STRING, |
| 87 | 76 | ], |
| 88 | 77 | [ |
| 89 | - 'name' => 'message', | |
| 90 | - 'type' => Form::TEXTAREA, | |
| 91 | - ], | |
| 92 | - [ | |
| 93 | 78 | 'name' => 'ip', |
| 94 | 79 | 'type' => Form::STRING, |
| 95 | 80 | ], | ... | ... |
backend/views/feedback/_form.php
| ... | ... | @@ -11,12 +11,19 @@ |
| 11 | 11 | <div class="feedback-form"> |
| 12 | 12 | |
| 13 | 13 | <?php $form = ActiveForm::begin(); ?> |
| 14 | - | |
| 15 | - <?= $form->field($model, 'name') | |
| 16 | - ->textInput([ 'maxlength' => true ]) ?> | |
| 17 | - | |
| 18 | - <?= $form->field($model, 'email') | |
| 19 | - ->textInput([ 'maxlength' => true ]) ?> | |
| 14 | + <?php | |
| 15 | + switch ($model->time){ | |
| 16 | + case 1: | |
| 17 | + echo "<p>В течении 30 минут</p>"; | |
| 18 | + break; | |
| 19 | + case 2: | |
| 20 | + echo "<p>C 9.00 до 12.00</p>"; | |
| 21 | + break; | |
| 22 | + case 3: | |
| 23 | + echo "<p>C 12.00 до 18.00</p>"; | |
| 24 | + break; | |
| 25 | + } | |
| 26 | + ?> | |
| 20 | 27 | |
| 21 | 28 | <?= $form->field($model, 'phone') |
| 22 | 29 | ->textInput([ 'maxlength' => true ]) ?> | ... | ... |
common/models/Feedback.php
| ... | ... | @@ -26,9 +26,16 @@ |
| 26 | 26 | const SCENARIO_FEEDBACK = 'feedback'; |
| 27 | 27 | const SCENARIO_CALLBACK = 'callback'; |
| 28 | 28 | |
| 29 | + const DURING_30_MIN = '1'; | |
| 30 | + | |
| 31 | + const FROM_9_12 = '2'; | |
| 32 | + | |
| 33 | + const FROM_12_18 = '3' ; | |
| 29 | 34 | |
| 30 | 35 | public $returnUrl; |
| 31 | 36 | |
| 37 | + public $agree; | |
| 38 | + | |
| 32 | 39 | /** |
| 33 | 40 | * @inheritdoc |
| 34 | 41 | */ |
| ... | ... | @@ -53,9 +60,9 @@ |
| 53 | 60 | 'returnUrl', |
| 54 | 61 | ], |
| 55 | 62 | self::SCENARIO_CALLBACK => [ |
| 56 | - 'name', | |
| 57 | 63 | 'phone', |
| 58 | - 'message', | |
| 64 | + 'time', | |
| 65 | + 'agree', | |
| 59 | 66 | 'returnUrl', |
| 60 | 67 | ], |
| 61 | 68 | ] |
| ... | ... | @@ -120,7 +127,6 @@ |
| 120 | 127 | [ |
| 121 | 128 | [ |
| 122 | 129 | 'phone', |
| 123 | - 'name', | |
| 124 | 130 | ], |
| 125 | 131 | 'required', |
| 126 | 132 | 'on' => self::SCENARIO_CALLBACK, |
| ... | ... | @@ -151,7 +157,7 @@ |
| 151 | 157 | ], |
| 152 | 158 | [ |
| 153 | 159 | [ |
| 154 | - 'status', | |
| 160 | + 'status' | |
| 155 | 161 | ], |
| 156 | 162 | 'boolean', |
| 157 | 163 | ], |
| ... | ... | @@ -159,6 +165,17 @@ |
| 159 | 165 | 'returnUrl', |
| 160 | 166 | 'safe', |
| 161 | 167 | ], |
| 168 | + [ | |
| 169 | + [ 'time' ], 'integer' | |
| 170 | + ], | |
| 171 | + [ | |
| 172 | + [ | |
| 173 | + 'agree', | |
| 174 | + ], | |
| 175 | + 'in', | |
| 176 | + 'range' => [ 1 ], | |
| 177 | + 'allowArray' => false, | |
| 178 | + ], | |
| 162 | 179 | ]; |
| 163 | 180 | } |
| 164 | 181 | ... | ... |
common/models/Visit.php
console/migrations/m180613_101610_alter_package_table.php
0 → 100644
| 1 | +<?php | |
| 2 | + | |
| 3 | +use yii\db\Migration; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Class m180613_101610_alter_package_table | |
| 7 | + */ | |
| 8 | +class m180613_101610_alter_package_table extends Migration | |
| 9 | +{ | |
| 10 | + /** | |
| 11 | + * {@inheritdoc} | |
| 12 | + */ | |
| 13 | + public function safeUp() | |
| 14 | + { | |
| 15 | + $this->addColumn('package', 'service_id', $this->integer()); | |
| 16 | + | |
| 17 | + $this->addForeignKey('package_service_fk', | |
| 18 | + 'package', | |
| 19 | + 'service_id', | |
| 20 | + 'service', | |
| 21 | + 'id', | |
| 22 | + 'SET NULL', | |
| 23 | + 'CASCADE'); | |
| 24 | + } | |
| 25 | + | |
| 26 | + /** | |
| 27 | + * {@inheritdoc} | |
| 28 | + */ | |
| 29 | + public function safeDown() | |
| 30 | + { | |
| 31 | + $this->dropForeignKey('package_service_fk', 'package'); | |
| 32 | + $this->dropColumn('service_id', 'package'); | |
| 33 | + } | |
| 34 | + | |
| 35 | + /* | |
| 36 | + // Use up()/down() to run migration code without a transaction. | |
| 37 | + public function up() | |
| 38 | + { | |
| 39 | + | |
| 40 | + } | |
| 41 | + | |
| 42 | + public function down() | |
| 43 | + { | |
| 44 | + echo "m180613_101610_alter_package_table cannot be reverted.\n"; | |
| 45 | + | |
| 46 | + return false; | |
| 47 | + } | |
| 48 | + */ | |
| 49 | +} | ... | ... |
console/migrations/m180712_081623_alter_table_visit.php
0 → 100644
| 1 | +<?php | |
| 2 | + | |
| 3 | +use yii\db\Migration; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Class m180712_081623_alter_table_visit | |
| 7 | + */ | |
| 8 | +class m180712_081623_alter_table_visit extends Migration | |
| 9 | +{ | |
| 10 | + /** | |
| 11 | + * {@inheritdoc} | |
| 12 | + */ | |
| 13 | + public function safeUp() | |
| 14 | + { | |
| 15 | + $this->addColumn('feedback', 'time', $this->integer()); | |
| 16 | + } | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * {@inheritdoc} | |
| 20 | + */ | |
| 21 | + public function safeDown() | |
| 22 | + { | |
| 23 | + $this->dropColumn('feedback', 'time'); | |
| 24 | + } | |
| 25 | + | |
| 26 | + /* | |
| 27 | + // Use up()/down() to run migration code without a transaction. | |
| 28 | + public function up() | |
| 29 | + { | |
| 30 | + | |
| 31 | + } | |
| 32 | + | |
| 33 | + public function down() | |
| 34 | + { | |
| 35 | + echo "m180712_081623_alter_table_visit cannot be reverted.\n"; | |
| 36 | + | |
| 37 | + return false; | |
| 38 | + } | |
| 39 | + */ | |
| 40 | +} | ... | ... |
frontend/controllers/SiteController.php
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | namespace frontend\controllers; |
| 4 | 4 | |
| 5 | 5 | use artbox\core\models\Alias; |
| 6 | - use artbox\core\models\Feedback; | |
| 6 | + use common\models\Feedback; | |
| 7 | 7 | use artbox\core\models\Language; |
| 8 | 8 | use common\models\Comment; |
| 9 | 9 | use common\models\Package; |
| ... | ... | @@ -176,6 +176,17 @@ |
| 176 | 176 | return $this->renderFile($meta[ 'uri' ]); |
| 177 | 177 | } |
| 178 | 178 | |
| 179 | + public function actionCallback(){ | |
| 180 | + \Yii::$app->response->format = Response::FORMAT_JSON; | |
| 181 | + $model = new Feedback(); | |
| 182 | + $model->scenario = Feedback::SCENARIO_CALLBACK; | |
| 183 | + if ($model->load(\Yii::$app->request->post()) && $model->save()){ | |
| 184 | + return ['success' => true]; | |
| 185 | + }else{ | |
| 186 | + return ['success' => false, 'errors' => $model->errors]; | |
| 187 | + } | |
| 188 | + } | |
| 189 | + | |
| 179 | 190 | public function actionFeedback() |
| 180 | 191 | { |
| 181 | 192 | Yii::$app->response->format = Response::FORMAT_JSON; | ... | ... |
frontend/views/layouts/main.php
| 1 | 1 | <?php |
| 2 | - | |
| 2 | + | |
| 3 | 3 | /** |
| 4 | 4 | * @var View $this |
| 5 | 5 | * @var string $content |
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | use artbox\core\helpers\ImageHelper; |
| 14 | 14 | use artbox\core\helpers\Url; |
| 15 | 15 | use artbox\core\models\Alias; |
| 16 | - use artbox\core\models\Feedback; | |
| 16 | + use common\models\Feedback; | |
| 17 | 17 | use artbox\core\models\Language; |
| 18 | 18 | use artbox\core\models\PageCategory; |
| 19 | 19 | use artbox\core\models\User; |
| ... | ... | @@ -31,9 +31,9 @@ |
| 31 | 31 | use yii\helpers\Url as DefaultUrl; |
| 32 | 32 | use frontend\microdata\MicrodataFabric; |
| 33 | 33 | use frontend\assets\MapAsset; |
| 34 | - | |
| 35 | - | |
| 36 | -AppAsset::register($this); | |
| 34 | + use yii\widgets\ActiveForm; | |
| 35 | + | |
| 36 | + AppAsset::register($this); | |
| 37 | 37 | SliderAsset::register($this); |
| 38 | 38 | MapAsset::register($this); |
| 39 | 39 | $user = \Yii::$app->user->identity; |
| ... | ... | @@ -54,207 +54,232 @@ AppAsset::register($this); |
| 54 | 54 | [ |
| 55 | 55 | 'language.alias', |
| 56 | 56 | 'services' => function (ActiveQuery $query) { |
| 57 | - $query->where(['status' => true])->with( | |
| 58 | - [ | |
| 59 | - 'language.alias', | |
| 60 | - 'services' => function (ActiveQuery $query) { | |
| 61 | - $query->where(['status' => true])->with(['language.alias']); | |
| 62 | - }, | |
| 63 | - ] | |
| 64 | - ); | |
| 57 | + $query->where([ 'status' => true ]) | |
| 58 | + ->with( | |
| 59 | + [ | |
| 60 | + 'language.alias', | |
| 61 | + 'services' => function (ActiveQuery $query) { | |
| 62 | + $query->where([ 'status' => true ]) | |
| 63 | + ->with([ 'language.alias' ]); | |
| 64 | + }, | |
| 65 | + ] | |
| 66 | + ); | |
| 65 | 67 | }, |
| 66 | 68 | ] |
| 67 | - )->orderBy('sort') | |
| 69 | + ) | |
| 70 | + ->orderBy('sort') | |
| 68 | 71 | ->all(); |
| 69 | - | |
| 70 | - | |
| 71 | -# для автоматической генерации SEO параметров (title/description) в ситуациях, когда этих параметров нету | |
| 72 | -# мне нужно будет автоматически их подгенеривать, поэтому вместо $seo->title, которые является readOnly я использую эту переменную | |
| 73 | -$seoTitleName = $seo->title; | |
| 74 | -if ($seo->title == '' | |
| 75 | - && \Yii::$app->controller->id == 'site' | |
| 76 | - && \Yii::$app->controller->action->id == 'comments' | |
| 77 | -) { | |
| 78 | - $currentServiceId = (!empty(\Yii::$app->request->get('service_id'))) ? \Yii::$app->request->get('service_id') : 0; | |
| 79 | - $serviceModel = new Service(['id' => $currentServiceId]); | |
| 80 | - if ($currentServiceId !== 0) { | |
| 81 | - $serviceName = $serviceModel->language->title; | |
| 82 | - $seoTitleName = $this->params['breadcrumbs'][0] . ' - ' . $serviceName . ' - ' . \Yii::t('app', 'ABC short reverse'); | |
| 83 | - } else $seoTitleName = $this->params['breadcrumbs'][0] . ' - ' . \Yii::t('app', 'General callbacks') . ' - ' . \Yii::t('app', 'ABC short reverse'); | |
| 84 | - | |
| 85 | -} | |
| 86 | - | |
| 87 | - | |
| 88 | -//----------------------------------------------------------------------------------------------------------------------- | |
| 89 | -// Блок с микроразметкой для FB | |
| 90 | - | |
| 72 | + | |
| 73 | + # для автоматической генерации SEO параметров (title/description) в ситуациях, когда этих параметров нету | |
| 74 | + # мне нужно будет автоматически их подгенеривать, поэтому вместо $seo->title, которые является readOnly я использую эту переменную | |
| 75 | + $seoTitleName = $seo->title; | |
| 76 | + if ($seo->title == '' && \Yii::$app->controller->id == 'site' && \Yii::$app->controller->action->id == 'comments') { | |
| 77 | + $currentServiceId = ( !empty(\Yii::$app->request->get('service_id')) ) ? \Yii::$app->request->get( | |
| 78 | + 'service_id' | |
| 79 | + ) : 0; | |
| 80 | + $serviceModel = new Service([ 'id' => $currentServiceId ]); | |
| 81 | + if ($currentServiceId !== 0) { | |
| 82 | + $serviceName = $serviceModel->language->title; | |
| 83 | + $seoTitleName = $this->params[ 'breadcrumbs' ][ 0 ] . ' - ' . $serviceName . ' - ' . \Yii::t( | |
| 84 | + 'app', | |
| 85 | + 'ABC short reverse' | |
| 86 | + ); | |
| 87 | + } else { | |
| 88 | + $seoTitleName = $this->params[ 'breadcrumbs' ][ 0 ] . ' - ' . \Yii::t( | |
| 89 | + 'app', | |
| 90 | + 'General callbacks' | |
| 91 | + ) . ' - ' . \Yii::t('app', 'ABC short reverse'); | |
| 92 | + } | |
| 93 | + | |
| 94 | + } | |
| 95 | + | |
| 96 | + //----------------------------------------------------------------------------------------------------------------------- | |
| 97 | + // Блок с микроразметкой для FB | |
| 98 | + | |
| 91 | 99 | # $property нужно для property="og:type" FB |
| 92 | - switch (\Yii::$app->controller->id) | |
| 93 | - { | |
| 100 | + switch (\Yii::$app->controller->id) { | |
| 94 | 101 | case "site": |
| 95 | - $property='website'; | |
| 102 | + $property = 'website'; | |
| 96 | 103 | break; |
| 97 | 104 | case "blog": |
| 98 | - $property='article'; | |
| 105 | + $property = 'article'; | |
| 99 | 106 | break; |
| 100 | 107 | case 'service': |
| 101 | - $property='product'; | |
| 108 | + $property = 'product'; | |
| 102 | 109 | break; |
| 103 | 110 | default: |
| 104 | - $property='website'; | |
| 111 | + $property = 'website'; | |
| 105 | 112 | break; |
| 106 | 113 | } |
| 107 | - | |
| 108 | -$this->registerMetaTag( | |
| 109 | - [ | |
| 110 | - 'property'=>'og:description', | |
| 111 | - 'content' => $seo->desc, | |
| 112 | - ] | |
| 113 | -); | |
| 114 | -$this->registerMetaTag( | |
| 115 | - [ | |
| 116 | - 'property'=>"og:type", | |
| 117 | - 'content' => $property, | |
| 118 | - ] | |
| 119 | -); | |
| 120 | -$this->registerMetaTag( | |
| 121 | - [ | |
| 122 | - 'property'=>"og:url", | |
| 123 | - 'content' => Url::current(), | |
| 124 | - ] | |
| 125 | -); | |
| 126 | -$this->registerMetaTag( | |
| 127 | - [ | |
| 128 | - 'property'=>"og:title", | |
| 129 | - 'content' =>$seo->title, | |
| 130 | - ] | |
| 131 | -); | |
| 132 | -$this->registerMetaTag( | |
| 133 | - [ | |
| 134 | - 'name' => 'description', | |
| 135 | - 'content' => (\Yii::$app->controller->id == 'site' && \Yii::$app->controller->action->id == 'comments' && $seo->desc == null) ? $seoTitleName : $seo->desc, | |
| 136 | - ] | |
| 137 | -); | |
| 138 | - | |
| 139 | -//---------------------------------------------------------------------------------------------------------------------- | |
| 140 | - | |
| 141 | - | |
| 114 | + | |
| 115 | + $this->registerMetaTag( | |
| 116 | + [ | |
| 117 | + 'property' => 'og:description', | |
| 118 | + 'content' => $seo->desc, | |
| 119 | + ] | |
| 120 | + ); | |
| 121 | + $this->registerMetaTag( | |
| 122 | + [ | |
| 123 | + 'property' => "og:type", | |
| 124 | + 'content' => $property, | |
| 125 | + ] | |
| 126 | + ); | |
| 127 | + $this->registerMetaTag( | |
| 128 | + [ | |
| 129 | + 'property' => "og:url", | |
| 130 | + 'content' => Url::current(), | |
| 131 | + ] | |
| 132 | + ); | |
| 133 | + $this->registerMetaTag( | |
| 134 | + [ | |
| 135 | + 'property' => "og:title", | |
| 136 | + 'content' => $seo->title, | |
| 137 | + ] | |
| 138 | + ); | |
| 139 | + $this->registerMetaTag( | |
| 140 | + [ | |
| 141 | + 'name' => 'description', | |
| 142 | + 'content' => ( \Yii::$app->controller->id == 'site' && \Yii::$app->controller->action->id == 'comments' && $seo->desc == null ) ? $seoTitleName : $seo->desc, | |
| 143 | + ] | |
| 144 | + ); | |
| 145 | + | |
| 146 | + //---------------------------------------------------------------------------------------------------------------------- | |
| 147 | + | |
| 142 | 148 | $this->registerMetaTag( |
| 143 | 149 | [ |
| 144 | 150 | 'name' => 'robots', |
| 145 | -// 'content' => $seo->robots, | |
| 151 | + // 'content' => $seo->robots, | |
| 146 | 152 | 'content' => 'noindex,nofollow', |
| 147 | 153 | ] |
| 148 | 154 | ); |
| 149 | 155 | $module = \Yii::$app->getModule('feedback'); |
| 150 | - $aliases = Alias::find()->where(['route' => '{"0":"site/questions"}'])->indexBy('route')->andWhere(['language_id' => Language::getCurrent()->id])->asArray()->all(); | |
| 151 | -$commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id":0}'])->indexBy('route')->andWhere(['language_id' => Language::getCurrent()->id])->asArray()->all(); | |
| 152 | - | |
| 153 | - | |
| 154 | - | |
| 156 | + $aliases = Alias::find() | |
| 157 | + ->where([ 'route' => '{"0":"site/questions"}' ]) | |
| 158 | + ->indexBy('route') | |
| 159 | + ->andWhere([ 'language_id' => Language::getCurrent()->id ]) | |
| 160 | + ->asArray() | |
| 161 | + ->all(); | |
| 162 | + $commentUrl = Alias::find() | |
| 163 | + ->where([ 'route' => '{"0":"site/comments","service_id":0}' ]) | |
| 164 | + ->indexBy('route') | |
| 165 | + ->andWhere([ 'language_id' => Language::getCurrent()->id ]) | |
| 166 | + ->asArray() | |
| 167 | + ->all(); | |
| 155 | 168 | |
| 156 | 169 | ?> |
| 157 | 170 | |
| 158 | 171 | <?php $this->beginPage() ?> |
| 159 | 172 | <!DOCTYPE html > |
| 160 | 173 | <html xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html" lang="<?= \Yii::$app->language ?>"> |
| 161 | - <head> | |
| 162 | - | |
| 163 | - <script type="text/javascript"> | |
| 164 | - WebFontConfig = { | |
| 165 | - google: {families: [ 'Ubuntu:400,500,700' ]} | |
| 166 | - }; | |
| 167 | - (function() { | |
| 168 | - var wf = document.createElement('script'); | |
| 169 | - wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js'; | |
| 170 | - wf.type = 'text/javascript'; | |
| 171 | - wf.async = 'true'; | |
| 172 | - var s = document.getElementsByTagName('script')[ 0 ]; | |
| 173 | - s.parentNode.insertBefore(wf, s); | |
| 174 | - })(); </script> | |
| 175 | - | |
| 176 | - | |
| 177 | - <!-- Global site tag (gtag.js) - Google Analytics --> | |
| 178 | - <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120861020-1"></script> | |
| 179 | - <script> | |
| 180 | - window.dataLayer = window.dataLayer || []; | |
| 181 | - function gtag(){dataLayer.push(arguments);} | |
| 182 | - gtag('js', new Date()); | |
| 183 | - | |
| 184 | - gtag('config', 'UA-120861020-1'); | |
| 185 | - </script> | |
| 186 | - <!-- Google Tag Manager --> | |
| 187 | - <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': | |
| 188 | - new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], | |
| 189 | - j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= | |
| 190 | - 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); | |
| 191 | - })(window,document,'script','dataLayer','GTM-N6R7982');</script> | |
| 192 | - <!-- End Google Tag Manager --> | |
| 193 | - <meta charset="<?= \Yii::$app->charset ?>"> | |
| 194 | - <meta name="viewport" content="width=device-width"> | |
| 195 | - <link type="image/x-icon" href="favicon.ico" rel="icon"> | |
| 196 | - <?= Html::csrfMetaTags() ?> | |
| 197 | - | |
| 198 | - | |
| 199 | - | |
| 200 | - | |
| 174 | + <head> | |
| 175 | + | |
| 176 | + <script type="text/javascript"> | |
| 177 | + WebFontConfig = { | |
| 178 | + google: {families: [ 'Ubuntu:400,500,700' ]} | |
| 179 | + }; | |
| 180 | + (function() { | |
| 181 | + var wf = document.createElement('script'); | |
| 182 | + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js'; | |
| 183 | + wf.type = 'text/javascript'; | |
| 184 | + wf.async = 'true'; | |
| 185 | + var s = document.getElementsByTagName('script')[ 0 ]; | |
| 186 | + s.parentNode.insertBefore(wf, s); | |
| 187 | + })(); </script> | |
| 188 | + | |
| 189 | + | |
| 190 | + <!-- Global site tag (gtag.js) - Google Analytics --> | |
| 191 | + <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120861020-1"></script> | |
| 192 | + <script> | |
| 193 | + window.dataLayer = window.dataLayer || []; | |
| 194 | + function gtag() { | |
| 195 | + dataLayer.push(arguments); | |
| 196 | + } | |
| 197 | + gtag('js', new Date()); | |
| 198 | + | |
| 199 | + gtag('config', 'UA-120861020-1'); | |
| 200 | + </script> | |
| 201 | + <!-- Google Tag Manager --> | |
| 202 | + <script>(function(w, d, s, l, i) { | |
| 203 | + w[ l ] = w[ l ] || []; | |
| 204 | + w[ l ].push({ | |
| 205 | + 'gtm.start': new Date().getTime(), | |
| 206 | + event: 'gtm.js' | |
| 207 | + }); | |
| 208 | + var f = d.getElementsByTagName(s)[ 0 ], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; | |
| 209 | + j.async = true; | |
| 210 | + j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; | |
| 211 | + f.parentNode.insertBefore(j, f); | |
| 212 | + })(window, document, 'script', 'dataLayer', 'GTM-N6R7982');</script> | |
| 213 | + <!-- End Google Tag Manager --> | |
| 214 | + <meta charset="<?= \Yii::$app->charset ?>"> | |
| 215 | + <meta name="viewport" content="width=device-width"> | |
| 216 | + <link type="image/x-icon" href="favicon.ico" rel="icon"> | |
| 217 | + <?= Html::csrfMetaTags() ?> | |
| 218 | + | |
| 219 | + | |
| 201 | 220 | <title><?= Html::encode($seoTitleName); ?></title> |
| 202 | - <?php $this->head() ?> | |
| 203 | - </head> | |
| 221 | + <?php $this->head() ?> | |
| 222 | + </head> | |
| 204 | 223 | <body id="body"> |
| 205 | - <!-- Google Tag Manager (noscript) --> | |
| 206 | - <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6R7982" | |
| 207 | - height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> | |
| 208 | - <!-- End Google Tag Manager (noscript) --> | |
| 224 | + <!-- Google Tag Manager (noscript) --> | |
| 225 | + <noscript> | |
| 226 | + <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6R7982" | |
| 227 | + height="0" width="0" style="display:none;visibility:hidden"></iframe> | |
| 228 | + </noscript> | |
| 229 | + <!-- End Google Tag Manager (noscript) --> | |
| 209 | 230 | <?php $this->beginBody() ?> |
| 210 | 231 | <!-- Google Tag Manager (noscript) --> |
| 211 | - <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6R7982" | |
| 212 | - height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> | |
| 232 | + <noscript> | |
| 233 | + <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6R7982" | |
| 234 | + height="0" width="0" style="display:none;visibility:hidden"></iframe> | |
| 235 | + </noscript> | |
| 213 | 236 | <!-- End Google Tag Manager (noscript) --> |
| 214 | - <div class="transition-loader"> | |
| 215 | - <div class="transition-loader-inner"> | |
| 216 | - <label></label> | |
| 217 | - <label></label> | |
| 218 | - <label></label> | |
| 219 | - <label></label> | |
| 220 | - <label></label> | |
| 221 | - <label></label> | |
| 222 | - </div> | |
| 223 | - </div> | |
| 237 | + <div class="transition-loader"> | |
| 238 | + <div class="transition-loader-inner"> | |
| 239 | + <label></label> | |
| 240 | + <label></label> | |
| 241 | + <label></label> | |
| 242 | + <label></label> | |
| 243 | + <label></label> | |
| 244 | + <label></label> | |
| 245 | + </div> | |
| 246 | + </div> | |
| 224 | 247 | <header id="header_" class="section-box-header"> |
| 225 | 248 | <div class="section-box-header-columns"> |
| 226 | 249 | <div class="container"> |
| 227 | 250 | <div class="row"> |
| 228 | 251 | <div class="col-xs-7 col-sm-3 col-md-2 col-lg-2 logo-wrapp"> |
| 229 | - | |
| 230 | - <a itemprop="url" content="<?=\Yii::$app->homeUrl;?>" | |
| 231 | - <?php if(DefaultUrl::current()!=='/site/index'): ?> | |
| 232 | - href= "<?php echo \frontend\helpers\Url::home(); ?>"> | |
| 252 | + | |
| 253 | + <a itemprop="url" content="<?= \Yii::$app->homeUrl; ?>" | |
| 254 | + <?php if ( DefaultUrl::current() !== '/site/index' ): ?> | |
| 255 | + href="<?php echo \frontend\helpers\Url::home(); ?>"> | |
| 233 | 256 | <?php else: ?> |
| 234 | - > | |
| 235 | - <?php endif;?> | |
| 236 | - | |
| 257 | + > | |
| 258 | + <?php endif; ?> | |
| 259 | + | |
| 237 | 260 | <?php |
| 238 | - if ($settings->logo != null){ | |
| 239 | - echo | |
| 240 | - "<img src='/storage/logo/".$settings->logo."' alt='".\Yii::t('app','ABC short')."' | |
| 241 | - title='".\Yii::t('app','ABC short')."' | |
| 261 | + if ($settings->logo != null) { | |
| 262 | + echo "<img src='/storage/logo/" . $settings->logo . "' alt='" . \Yii::t( | |
| 263 | + 'app', | |
| 264 | + 'ABC short' | |
| 265 | + ) . "' | |
| 266 | + title='" . \Yii::t('app', 'ABC short') . "' | |
| 242 | 267 | >"; |
| 243 | - }else{ | |
| 244 | - echo ImageHelper::set(null) | |
| 245 | - ->setHeight(44) | |
| 246 | - ->renderImage( | |
| 247 | - [ | |
| 248 | - 'alt' => $settings->name, | |
| 249 | - #'alt'=>\Yii::t('app','ABC short'), | |
| 250 | - 'title'=>\Yii::t('app','ABC short'), | |
| 251 | - ] | |
| 252 | - ); | |
| 253 | - } | |
| 254 | - | |
| 268 | + } else { | |
| 269 | + echo ImageHelper::set(null) | |
| 270 | + ->setHeight(44) | |
| 271 | + ->renderImage( | |
| 272 | + [ | |
| 273 | + 'alt' => $settings->name, | |
| 274 | + #'alt'=>\Yii::t('app','ABC short'), | |
| 275 | + 'title' => \Yii::t('app', 'ABC short'), | |
| 276 | + ] | |
| 277 | + ); | |
| 278 | + } | |
| 279 | + | |
| 255 | 280 | ?> |
| 256 | - | |
| 257 | - | |
| 281 | + | |
| 282 | + | |
| 258 | 283 | </a> |
| 259 | 284 | </div> |
| 260 | 285 | <div class="col-sm-9 col-md-10 col-lg-10 header-col"> |
| ... | ... | @@ -270,17 +295,17 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 270 | 295 | <td> |
| 271 | 296 | <div class="phone-header new-phone-header"> |
| 272 | 297 | <?= $settings->phone ?> |
| 273 | - | |
| 274 | - <?php | |
| 275 | - # если указаны дополнительные телефоны, указываем их в выпадающем меню | |
| 276 | - if (!empty($settings->phone2)):?> | |
| 277 | - <?php $phones2 = explode(';', $settings->phone2); ?> | |
| 278 | - <div class="hidden-header-phone"> | |
| 279 | - <?php foreach ($phones2 as $soloPhone2): ?> | |
| 280 | - <?= Html::tag('p', $soloPhone2); ?> | |
| 281 | - <?php endforeach; ?> | |
| 282 | - </div> | |
| 283 | - <?php endif; ?> | |
| 298 | + | |
| 299 | + <?php | |
| 300 | + # если указаны дополнительные телефоны, указываем их в выпадающем меню | |
| 301 | + if (!empty($settings->phone2)):?> | |
| 302 | + <?php $phones2 = explode(';', $settings->phone2); ?> | |
| 303 | + <div class="hidden-header-phone"> | |
| 304 | + <?php foreach ($phones2 as $soloPhone2): ?> | |
| 305 | + <?= Html::tag('p', $soloPhone2); ?> | |
| 306 | + <?php endforeach; ?> | |
| 307 | + </div> | |
| 308 | + <?php endif; ?> | |
| 284 | 309 | </div> |
| 285 | 310 | </td> |
| 286 | 311 | </tr> |
| ... | ... | @@ -293,23 +318,26 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 293 | 318 | </div> |
| 294 | 319 | |
| 295 | 320 | <div class="hidden-xs btn-header-wr"> |
| 296 | - <span class="btn_ modal-link" data-form="write-to"><?=\Yii::t('app', 'Make an appointment') ?></span> | |
| 321 | + <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
| 297 | 322 | </div> |
| 298 | - | |
| 323 | + | |
| 299 | 324 | <ul class="hidden-xs hidden-sm"> |
| 300 | - <li><a href="/vtoroe-mnenie" class="new"><span> <?=\Yii::t('app','Second thing')?> </span></a></li> | |
| 301 | - <li> | |
| 302 | - <a href="<?= (isset($aliases['{"0":"site/questions"}'])) ? Url::to(['alias' => $aliases['{"0":"site/questions"}']]) : | |
| 303 | - Url::to(['site/questions']) ?>"><?= \Yii::t('app', 'Quest/Answer') ?></a></li> | |
| 304 | - <li> | |
| 305 | - <a href="<?= (isset($commentUrl['{"0":"site/comments","service_id":0}'])) ? Url::to(['/' . $commentUrl['{"0":"site/comments","service_id":0}']['value']]) : | |
| 306 | - Url::to(['site/comments']) ?>"><?= \Yii::t('app', 'Callbacks') ?></a></li> | |
| 325 | + <li><a href="/vtoroe-mnenie" class="new"><span> <?= \Yii::t('app', 'Second thing') ?> </span></a> | |
| 326 | + </li> | |
| 327 | + <li> | |
| 328 | + <a href="<?= ( isset($aliases[ '{"0":"site/questions"}' ]) ) ? Url::to( | |
| 329 | + [ 'alias' => $aliases[ '{"0":"site/questions"}' ] ] | |
| 330 | + ) : Url::to([ 'site/questions' ]) ?>"><?= \Yii::t('app', 'Quest/Answer') ?></a></li> | |
| 331 | + <li> | |
| 332 | + <a href="<?= ( isset($commentUrl[ '{"0":"site/comments","service_id":0}' ]) ) ? Url::to( | |
| 333 | + [ '/' . $commentUrl[ '{"0":"site/comments","service_id":0}' ][ 'value' ] ] | |
| 334 | + ) : Url::to([ 'site/comments' ]) ?>"><?= \Yii::t('app', 'Callbacks') ?></a></li> | |
| 307 | 335 | </ul> |
| 308 | -<!-- --> | |
| 309 | -<!-- <div class="lang-sep-wr hidden-xs hidden-sm">--> | |
| 310 | -<!-- --> | |
| 311 | -<!-- --><?php //echo LanguageWidget::widget() ?> | |
| 312 | -<!-- </div>--> | |
| 336 | + <!-- --> | |
| 337 | + <!-- <div class="lang-sep-wr hidden-xs hidden-sm">--> | |
| 338 | + <!-- --> | |
| 339 | + <!-- --><?php //echo LanguageWidget::widget() ?> | |
| 340 | + <!-- </div>--> | |
| 313 | 341 | |
| 314 | 342 | <div class="hidden-sm hidden-md hidden-lg icon_phone-header-mob btn_call"></div> |
| 315 | 343 | |
| ... | ... | @@ -334,22 +362,19 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 334 | 362 | ]; |
| 335 | 363 | } |
| 336 | 364 | $items[] = [ |
| 337 | - 'label' => \Yii::t('app', 'Prices'), | |
| 338 | - 'url' => Url::to(['site/prices']), | |
| 365 | + 'label' => \Yii::t('app', 'Prices'), | |
| 366 | + 'url' => Url::to([ 'site/prices' ]), | |
| 339 | 367 | 'options' => [ |
| 340 | - 'class' => 'active' | |
| 341 | - ] | |
| 368 | + 'class' => 'active', | |
| 369 | + ], | |
| 342 | 370 | ]; |
| 343 | 371 | $items[] = [ |
| 344 | 372 | 'label' => \Yii::t('app', 'Package offerings'), |
| 345 | - 'url' => Url::to(['package/index']), | |
| 373 | + 'url' => Url::to([ 'package/index' ]), | |
| 346 | 374 | ]; |
| 347 | - | |
| 348 | - | |
| 349 | - | |
| 350 | - | |
| 375 | + | |
| 351 | 376 | ?> |
| 352 | - | |
| 377 | + | |
| 353 | 378 | <?php echo Nav::widget( |
| 354 | 379 | [ |
| 355 | 380 | 'items' => $items, |
| ... | ... | @@ -359,7 +384,7 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 359 | 384 | </nav> |
| 360 | 385 | <div class="mobile-menu-hidden" style="display: none;"> |
| 361 | 386 | <div class="close-lang-mob"> |
| 362 | - | |
| 387 | + | |
| 363 | 388 | <div class="close-mobile-menu"></div> |
| 364 | 389 | </div> |
| 365 | 390 | <div class="mobi-menu-catalog"> |
| ... | ... | @@ -367,12 +392,12 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 367 | 392 | $itemsMobile = []; |
| 368 | 393 | foreach ($services as $service) { |
| 369 | 394 | /** |
| 370 | - * @var Service $service; | |
| 395 | + * @var Service $service ; | |
| 371 | 396 | */ |
| 372 | 397 | $servicesChild = []; |
| 373 | 398 | foreach ($service->services as $item) { |
| 374 | 399 | $level = []; |
| 375 | - foreach ($item->services as $child){ | |
| 400 | + foreach ($item->services as $child) { | |
| 376 | 401 | $level[] = [ |
| 377 | 402 | 'label' => $child->title, |
| 378 | 403 | 'url' => Url::to([ 'alias' => $child->language->alias ]), |
| ... | ... | @@ -391,15 +416,15 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 391 | 416 | ]; |
| 392 | 417 | } |
| 393 | 418 | $itemsMobile[] = [ |
| 394 | - 'label' => \Yii::t('app', 'Prices'), | |
| 395 | - 'url' => Url::to(['site/prices']), | |
| 419 | + 'label' => \Yii::t('app', 'Prices'), | |
| 420 | + 'url' => Url::to([ 'site/prices' ]), | |
| 396 | 421 | 'options' => [ |
| 397 | - 'class' => 'active' | |
| 398 | - ] | |
| 422 | + 'class' => 'active', | |
| 423 | + ], | |
| 399 | 424 | ]; |
| 400 | 425 | $itemsMobile[] = [ |
| 401 | 426 | 'label' => \Yii::t('app', 'Package offerings'), |
| 402 | - 'url' => Url::to(['package/index']), | |
| 427 | + 'url' => Url::to([ 'package/index' ]), | |
| 403 | 428 | ] |
| 404 | 429 | ?> |
| 405 | 430 | <?php echo Nav::widget( |
| ... | ... | @@ -413,11 +438,12 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 413 | 438 | </div> |
| 414 | 439 | <div class="menu-second-mob"> |
| 415 | 440 | <ul class="footer-menu"> |
| 416 | - | |
| 441 | + | |
| 417 | 442 | <li><a href="<?= Url::to([ 'site/contact' ]) ?>"><?= \Yii::t('app', 'Contacts') ?></a></li> |
| 418 | 443 | <li><a href="/vtoroe-mnenie" class="new"><span><?= \Yii::t('app', 'Second thing') ?></span></a></li> |
| 419 | - <li><a href="<?=(isset($aliases['{"0":"site/questions"}'])) ? | |
| 420 | - Url::to(['alias' => $aliases['{"0":"site/questions"}']]) : Url::to(['site/questions'])?>"> | |
| 444 | + <li><a href="<?= ( isset($aliases[ '{"0":"site/questions"}' ]) ) ? Url::to( | |
| 445 | + [ 'alias' => $aliases[ '{"0":"site/questions"}' ] ] | |
| 446 | + ) : Url::to([ 'site/questions' ]) ?>"> | |
| 421 | 447 | <?= \Yii::t('app', 'Quest/Answer') ?></a></li> |
| 422 | 448 | <li><a href="#"><?= \Yii::t('app', 'Callbacks') ?></a></li> |
| 423 | 449 | </ul> |
| ... | ... | @@ -425,78 +451,80 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 425 | 451 | |
| 426 | 452 | <div class="mob-menu-btns"> |
| 427 | 453 | <div class="style mob-menu-write"> |
| 428 | - <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
| 454 | + <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
| 429 | 455 | </div> |
| 430 | 456 | <div class="style mob-menu-callback"> |
| 431 | 457 | <p><?= $settings->phone ?></p> |
| 432 | - <span class="modal-link" data-form="callback"><?=\Yii::t('app','Callback');?></span> | |
| 458 | + <span class="modal-link" data-form="callback"><?= \Yii::t('app', 'Callback'); ?></span> | |
| 433 | 459 | </div> |
| 434 | 460 | </div> |
| 435 | 461 | </div> |
| 436 | 462 | </header> |
| 437 | - | |
| 438 | - <?php #content должен быть в main.php ?> | |
| 463 | + | |
| 464 | + <?php #content должен быть в main.php ?> | |
| 439 | 465 | <div id="content_" class="section-box-content"> |
| 440 | 466 | <!-- start breadcrumbs --> |
| 441 | - <?php if (!empty($this->params['breadcrumbs'])) {?> | |
| 442 | - <section class="section-breadcrumb"> | |
| 443 | - <div class="container"> | |
| 444 | - <div class="row"> | |
| 445 | - <div class="col-xs-12 col-sm-12 breadcrumb-wrapp"> | |
| 446 | - <?=SeoBreadcrumbs::widget([ | |
| 447 | - 'links' => isset($this->params[ 'breadcrumbs' ]) ? $this->params[ 'breadcrumbs' ] : [], | |
| 448 | - ])?> | |
| 449 | - </div> | |
| 450 | - </div> | |
| 451 | - </section> | |
| 452 | - <?php }?> | |
| 467 | + <?php if (!empty($this->params[ 'breadcrumbs' ])) { ?> | |
| 468 | + <section class="section-breadcrumb"> | |
| 469 | + <div class="container"> | |
| 470 | + <div class="row"> | |
| 471 | + <div class="col-xs-12 col-sm-12 breadcrumb-wrapp"> | |
| 472 | + <?= SeoBreadcrumbs::widget( | |
| 473 | + [ | |
| 474 | + 'links' => isset($this->params[ 'breadcrumbs' ]) ? $this->params[ 'breadcrumbs' ] : [], | |
| 475 | + ] | |
| 476 | + ) ?> | |
| 477 | + </div> | |
| 478 | + </div> | |
| 479 | + </section> | |
| 480 | + <?php } ?> | |
| 453 | 481 | <?php #если не главная выводить сюда |
| 454 | - # end breadcrumbs ?> | |
| 455 | - | |
| 456 | - <?php #start content ?> | |
| 457 | - | |
| 482 | + # end breadcrumbs ?> | |
| 483 | + | |
| 484 | + <?php #start content ?> | |
| 485 | + | |
| 458 | 486 | <?= $content ?> |
| 459 | 487 | <?php # end content ?> |
| 460 | - | |
| 461 | - | |
| 462 | - <div class="section-box-6"> | |
| 463 | - <div id="map_canvas"></div> | |
| 464 | - <div style="display: none" class="adress-map" data-zoom="14" data-start-lat="<?=$settings->lat?>" data-start-lng="<?=$settings->lon?>"> | |
| 465 | - <span data-lat="<?=$settings->lat?>" data-lng="<?=$settings->lon?>"></span> | |
| 466 | - </div> | |
| 467 | - <div class="container"> | |
| 468 | - <div class="row"> | |
| 469 | - <div class="col-xs-12 col-sm-5 col-sm-offset-7 col-md-4 col-md-offset-8 contacts-mobile-fix" style="display: table"> | |
| 470 | - <div class="map-info-wrapp"> | |
| 471 | - <div class="map-adress"><?=$settings->address;?></div> | |
| 472 | - <?php if (!empty($settings->phone) or !empty($settings->phone2)){ | |
| 473 | - $phones = array_merge(explode(';', $settings->phone2) , [$settings->phone]); | |
| 474 | - ?> | |
| 475 | - <div class="ico-map"> | |
| 476 | - <img src="/images/map/phone-map.svg" alt=""> | |
| 477 | - <img class="mob-ico-map" style="display: none" src="/images/map/phone-map-1-grey.svg" alt=""> | |
| 478 | - </div> | |
| 479 | - <div class="map-phone"> | |
| 480 | - <?php foreach ($phones as $phone){?> | |
| 481 | - <p><?=$phone?></p> | |
| 482 | - <?php }?> | |
| 483 | - </div> | |
| 484 | - <?php } ?> | |
| 485 | - <?php if (!empty($settings->email)){?> | |
| 486 | - <div class="ico-map ico-map-mail"> | |
| 487 | - <img src="/images/map/mail-map.svg" alt=""> | |
| 488 | - <img class="mob-ico-map" style="display: none" src="/images/map/mail-map-1-grey.svg" alt=""> | |
| 489 | - </div> | |
| 490 | - <div class="map-mail"> | |
| 491 | - <a href="mailto:<?=$settings->email?>"><?=$settings->email?></a> | |
| 492 | - </div> | |
| 493 | - <?php } ?> | |
| 494 | - </div> | |
| 488 | + | |
| 489 | + | |
| 490 | + <div class="section-box-6"> | |
| 491 | + <div id="map_canvas"></div> | |
| 492 | + <div style="display: none" class="adress-map" data-zoom="14" data-start-lat="<?= $settings->lat ?>" data-start-lng="<?= $settings->lon ?>"> | |
| 493 | + <span data-lat="<?= $settings->lat ?>" data-lng="<?= $settings->lon ?>"></span> | |
| 494 | + </div> | |
| 495 | + <div class="container"> | |
| 496 | + <div class="row"> | |
| 497 | + <div class="col-xs-12 col-sm-5 col-sm-offset-7 col-md-4 col-md-offset-8 contacts-mobile-fix" style="display: table"> | |
| 498 | + <div class="map-info-wrapp"> | |
| 499 | + <div class="map-adress"><?= $settings->address; ?></div> | |
| 500 | + <?php if (!empty($settings->phone) or !empty($settings->phone2)) { | |
| 501 | + $phones = array_merge(explode(';', $settings->phone2), [ $settings->phone ]); | |
| 502 | + ?> | |
| 503 | + <div class="ico-map"> | |
| 504 | + <img src="/images/map/phone-map.svg" alt=""> | |
| 505 | + <img class="mob-ico-map" style="display: none" src="/images/map/phone-map-1-grey.svg" alt=""> | |
| 495 | 506 | </div> |
| 496 | - </div> | |
| 507 | + <div class="map-phone"> | |
| 508 | + <?php foreach ($phones as $phone) { ?> | |
| 509 | + <p><?= $phone ?></p> | |
| 510 | + <?php } ?> | |
| 511 | + </div> | |
| 512 | + <?php } ?> | |
| 513 | + <?php if (!empty($settings->email)) { ?> | |
| 514 | + <div class="ico-map ico-map-mail"> | |
| 515 | + <img src="/images/map/mail-map.svg" alt=""> | |
| 516 | + <img class="mob-ico-map" style="display: none" src="/images/map/mail-map-1-grey.svg" alt=""> | |
| 517 | + </div> | |
| 518 | + <div class="map-mail"> | |
| 519 | + <a href="mailto:<?= $settings->email ?>"><?= $settings->email ?></a> | |
| 520 | + </div> | |
| 521 | + <?php } ?> | |
| 522 | + </div> | |
| 497 | 523 | </div> |
| 524 | + </div> | |
| 498 | 525 | </div> |
| 499 | - | |
| 526 | + </div> | |
| 527 | + | |
| 500 | 528 | </div> |
| 501 | 529 | |
| 502 | 530 | <footer id="footer_" class="section-box-footer"> |
| ... | ... | @@ -506,18 +534,19 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 506 | 534 | <div class="row"> |
| 507 | 535 | <div class="col-xs-12 hidden-sm hidden-md hidden-lg" style="text-align: center; margin-bottom: 8px"> |
| 508 | 536 | <div class="btn-footer-wr"> |
| 509 | - <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
| 537 | + <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
| 510 | 538 | </div> |
| 511 | 539 | </div> |
| 512 | 540 | |
| 513 | 541 | <div class="col-xs-9 col-sm-2"> |
| 514 | 542 | <ul class="footer-menu"> |
| 515 | - <li><a href="<?=Url::to(['site/about'])?>"><?=\Yii::t('app','About us')?></a></li> | |
| 516 | - <li><a href="<?= Url::to([ 'site/contact' ]);?>" ><?=\Yii::t('app','Contacts');?></a></li> | |
| 517 | - <li><a href="/vtoroe-mnenie" class="new"><span><?=\Yii::t('app','Second thing');?></span></a></li> | |
| 518 | - <li><a href="<?=(isset($aliases['{"0":"site/questions"}'])) ? | |
| 519 | - Url::to(['alias' => $aliases['{"0":"site/questions"}']]) : Url::to(['site/questions'])?>"><?=\Yii::t('app','Quest/Answer');?></a></li> | |
| 520 | - <li><a href="<?=Url::to(['site/comments'])?>"><?=\Yii::t('app','Callbacks');?></a></li> | |
| 543 | + <li><a href="<?= Url::to([ 'site/about' ]) ?>"><?= \Yii::t('app', 'About us') ?></a></li> | |
| 544 | + <li><a href="<?= Url::to([ 'site/contact' ]); ?>"><?= \Yii::t('app', 'Contacts'); ?></a></li> | |
| 545 | + <li><a href="/vtoroe-mnenie" class="new"><span><?= \Yii::t('app', 'Second thing'); ?></span></a></li> | |
| 546 | + <li><a href="<?= ( isset($aliases[ '{"0":"site/questions"}' ]) ) ? Url::to( | |
| 547 | + [ 'alias' => $aliases[ '{"0":"site/questions"}' ] ] | |
| 548 | + ) : Url::to([ 'site/questions' ]) ?>"><?= \Yii::t('app', 'Quest/Answer'); ?></a></li> | |
| 549 | + <li><a href="<?= Url::to([ 'site/comments' ]) ?>"><?= \Yii::t('app', 'Callbacks'); ?></a></li> | |
| 521 | 550 | </ul> |
| 522 | 551 | </div> |
| 523 | 552 | |
| ... | ... | @@ -542,23 +571,25 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 542 | 571 | |
| 543 | 572 | <div class="col-xs-3 col-sm-3"> |
| 544 | 573 | <ul class="seti-list"> |
| 545 | - <?php if (!empty($settings->facebook)){?> | |
| 546 | - <li><a target="_blank" href="<?=$settings->facebook?>"><img src="/images/s-1.svg" alt=""></a></li> | |
| 547 | - <?php } ?> | |
| 548 | - <?php if (!empty($settings->google)){?> | |
| 549 | - <li><a target="_blank" href="<?=$settings->google?>"><img src="/images/s-2.svg" alt=""></a></li> | |
| 550 | - <?php } ?> | |
| 551 | - <?php if (!empty($settings->twitter)){?> | |
| 552 | - <li><a target="_blank" href="<?=$settings->twitter ?>"><img src="/images/s-3.svg" alt=""></a></li> | |
| 553 | - <?php }?> | |
| 574 | + <?php if (!empty($settings->facebook)) { ?> | |
| 575 | + <li><a target="_blank" href="<?= $settings->facebook ?>"><img src="/images/s-1.svg" alt=""></a> | |
| 576 | + </li> | |
| 577 | + <?php } ?> | |
| 578 | + <?php if (!empty($settings->google)) { ?> | |
| 579 | + <li><a target="_blank" href="<?= $settings->google ?>"><img src="/images/s-2.svg" alt=""></a></li> | |
| 580 | + <?php } ?> | |
| 581 | + <?php if (!empty($settings->twitter)) { ?> | |
| 582 | + <li><a target="_blank" href="<?= $settings->twitter ?>"><img src="/images/s-3.svg" alt=""></a> | |
| 583 | + </li> | |
| 584 | + <?php } ?> | |
| 554 | 585 | </ul> |
| 555 | 586 | </div> |
| 556 | 587 | </div> |
| 557 | 588 | <div class="row"> |
| 558 | 589 | <div class="col-xs-12 col-sm-12 studio-wrapp"> |
| 559 | - <div class="all-rights-txt">© <?=\Yii::t('app','All rights reserved');?> , 2018. ABClinic</div> | |
| 590 | + <div class="all-rights-txt">© <?= \Yii::t('app', 'All rights reserved'); ?> , 2018. ABClinic</div> | |
| 560 | 591 | <div class="link-studio"> |
| 561 | - <a href="http://artweb.ua"><?=\Yii::t('app','Creating sites');?></a> | |
| 592 | + <a href="http://artweb.ua"><?= \Yii::t('app', 'Creating sites'); ?></a> | |
| 562 | 593 | </div> |
| 563 | 594 | </div> |
| 564 | 595 | </div> |
| ... | ... | @@ -569,182 +600,212 @@ $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id |
| 569 | 600 | <div style="display: none;" class="btn_up"></div> |
| 570 | 601 | <div style="display: none" class="btn_call_close"></div> |
| 571 | 602 | </footer> |
| 572 | -<?php if (!empty($settings->phone) or !empty($settings->phone2)){ | |
| 573 | - $phones = array_merge(explode(';', $settings->phone2) , [$settings->phone]); ?> | |
| 574 | - <div class="call-mobile-wr" style="display: none;"> | |
| 575 | - <div class="call-mobile"> | |
| 576 | - <div class="call-mobile-td"> | |
| 577 | - <?php foreach ($phones as $phone){?> | |
| 578 | - <div class="button-call-mob"> | |
| 579 | - <a class="button-call_" href="tel:<?= $settings->phone ?>"> | |
| 580 | - <span><?= $phone ?></span> | |
| 581 | - </a> | |
| 582 | - </div> | |
| 583 | - <?php } ?> | |
| 584 | - | |
| 585 | - <div class="button-call-mob"> | |
| 586 | - <a class="call-sms" href="sms:<?= $settings->phone ?>"><?=\Yii::t('app','Send SMS');?></a> | |
| 603 | + <?php if (!empty($settings->phone) or !empty($settings->phone2)) { | |
| 604 | + $phones = array_merge(explode(';', $settings->phone2), [ $settings->phone ]); ?> | |
| 605 | + <div class="call-mobile-wr" style="display: none;"> | |
| 606 | + <div class="call-mobile"> | |
| 607 | + <div class="call-mobile-td"> | |
| 608 | + <?php foreach ($phones as $phone) { ?> | |
| 609 | + <div class="button-call-mob"> | |
| 610 | + <a class="button-call_" href="tel:<?= $settings->phone ?>"> | |
| 611 | + <span><?= $phone ?></span> | |
| 612 | + </a> | |
| 613 | + </div> | |
| 614 | + <?php } ?> | |
| 615 | + | |
| 616 | + <div class="button-call-mob"> | |
| 617 | + <a class="call-sms" href="sms:<?= $settings->phone ?>"><?= \Yii::t('app', 'Send SMS'); ?></a> | |
| 618 | + </div> | |
| 619 | + <div class="button-call-mob"> | |
| 620 | + <a class="call-contact" href="/contacts/abclinic.vcf"><?= \Yii::t('app', 'Add to contacts'); ?></a> | |
| 621 | + </div> | |
| 622 | + </div> | |
| 587 | 623 | </div> |
| 588 | - <div class="button-call-mob"> | |
| 589 | - <a class="call-contact" href="/contacts/abclinic.vcf"><?=\Yii::t('app','Add to contacts');?></a></div> | |
| 590 | 624 | </div> |
| 591 | - </div> | |
| 592 | - </div> | |
| 593 | - <?php }?> | |
| 625 | + <?php } ?> | |
| 594 | 626 | <div id="overlay" style="display: none;"></div> |
| 595 | 627 | |
| 596 | -<!-- --><?php | |
| 597 | -// $module = \Yii::$app->getModule('feedback'); | |
| 598 | -// ArtboxModalWidget::begin([ | |
| 599 | -// 'modalTagOptions' => [ | |
| 600 | -// 'id' => 'callback' | |
| 601 | -// ], | |
| 602 | -// 'titleTagOptions' => [ | |
| 603 | -// 'class' => 'style form-title' | |
| 604 | -// ], | |
| 605 | -// 'headerText' => \Yii::t('app', 'Callback'), | |
| 606 | -// 'closeTagButton' => 'span', | |
| 607 | -// 'closeTagContent' => '', | |
| 608 | -// 'closeButtonOptions' => [ | |
| 609 | -// 'id' => 'modal_close' | |
| 610 | -// ] | |
| 611 | -// ]); | |
| 612 | -// | |
| 613 | -// $module->renderForm($this); | |
| 614 | -// | |
| 615 | -// ArtboxModalWidget::end(); | |
| 616 | -// ?> | |
| 617 | - | |
| 618 | - <div id="callback" class=" forms_ " style="display: none;"> | |
| 628 | + <!-- --><?php | |
| 629 | + // $module = \Yii::$app->getModule('feedback'); | |
| 630 | + // ArtboxModalWidget::begin([ | |
| 631 | + // 'modalTagOptions' => [ | |
| 632 | + // 'id' => 'callback' | |
| 633 | + // ], | |
| 634 | + // 'titleTagOptions' => [ | |
| 635 | + // 'class' => 'style form-title' | |
| 636 | + // ], | |
| 637 | + // 'headerText' => \Yii::t('app', 'Callback'), | |
| 638 | + // 'closeTagButton' => 'span', | |
| 639 | + // 'closeTagContent' => '', | |
| 640 | + // 'closeButtonOptions' => [ | |
| 641 | + // 'id' => 'modal_close' | |
| 642 | + // ] | |
| 643 | + // ]); | |
| 644 | + // | |
| 645 | + // $module->renderForm($this); | |
| 646 | + // | |
| 647 | + // ArtboxModalWidget::end(); | |
| 648 | + // ?> | |
| 649 | + | |
| 650 | + <div id="callback" class=" forms_ " style="display: none;"> | |
| 619 | 651 | <div class="style title-callback">Записаться на прием</div> |
| 620 | - <form action=""> | |
| 621 | - <div class="input-wr phones_mask required"> | |
| 622 | - <label class="control-label" for="feedback-phone">Телефон</label> | |
| 623 | - <input type="text" id="feedback-phone" placeholder="+38(0__)___-__-__"> | |
| 624 | - </div> | |
| 625 | - <div class="input-wr"> | |
| 626 | - <div class="style callback-params-title">Когда вам удобно перезвонить?</div> | |
| 627 | - <div class="style radio_custom"> | |
| 628 | - <input type="radio" id="order-delivery_id1" name="qwerty" value="1" checked=""> | |
| 629 | - <label for="order-delivery_id1">В течение 30 минут</label> | |
| 630 | - </div> | |
| 631 | - | |
| 632 | - <div class="style radio_custom"> | |
| 633 | - <input type="radio" id="order-delivery_id2" name="qwerty" value="1"> | |
| 634 | - <label for="order-delivery_id2">с 9:00 до 12:00</label> | |
| 635 | - </div> | |
| 636 | - | |
| 637 | - <div class="style radio_custom"> | |
| 638 | - <input type="radio" id="order-delivery_id3" name="qwerty" value="1"> | |
| 639 | - <label for="order-delivery_id3">с 12:00 до 18:00</label> | |
| 640 | - </div> | |
| 641 | - | |
| 642 | - <div class="style radio-callback-border"></div> | |
| 643 | - </div> | |
| 644 | - <div class="input-wr sidebar_checks"> | |
| 645 | - <input type="checkbox" id="loginform-rememberme" name="LoginForm[rememberMe]" value="1" checked=""> | |
| 646 | - <label class="control-label" for="loginform-rememberme">Даю согласие на хранение и обработку персональных данных</label> | |
| 647 | - </div> | |
| 648 | - <div class="button-wr"> | |
| 649 | - <div class="close-callback"><span id="modal_close">Закрыть окно</span></div> | |
| 650 | - <button type="submit">Отправить</button> | |
| 651 | - </div> | |
| 652 | - </form> | |
| 653 | - </div> | |
| 654 | - | |
| 655 | - <?php | |
| 656 | - /* @var \artbox\core\forms\Module $moduleVisit*/ | |
| 657 | - $moduleVisit = \Yii::$app->getModule('visit'); | |
| 658 | - if (isset($this->params['entity']) and isset($this->params['entity_id'])){ | |
| 659 | - $moduleVisit->inputOptions = array_merge($moduleVisit->inputOptions, ['entity' => [ | |
| 660 | - 'type' => 'hiddenInput', | |
| 661 | - 'options' => ['value' => $this->params['entity']], | |
| 662 | - ], | |
| 663 | - 'entity_id' => [ | |
| 664 | - 'type' => 'hiddenInput', | |
| 665 | - 'options' => ['value' => $this->params['entity_id']], | |
| 666 | - ] | |
| 667 | - ]); | |
| 668 | - } | |
| 669 | - ArtboxModalWidget::begin([ | |
| 670 | - 'modalTagOptions' => [ | |
| 671 | - 'id' => 'write-to' | |
| 672 | - ], | |
| 673 | - 'titleTagOptions' => [ | |
| 674 | - 'class' => 'style form-title' | |
| 675 | - ], | |
| 676 | - 'headerText' => \Yii::t('app', 'Make an appointment'), | |
| 677 | - 'closeTagButton' => 'span', | |
| 678 | - 'closeTagContent' => '', | |
| 679 | - 'closeButtonOptions' => [ | |
| 680 | - 'id' => 'modal_close' | |
| 681 | - ] | |
| 682 | - ]); | |
| 683 | - | |
| 684 | - $moduleVisit->renderForm($this); | |
| 685 | - | |
| 686 | - ArtboxModalWidget::end(); | |
| 687 | - ?> | |
| 652 | + <?php | |
| 653 | + $model = new Feedback(['agree' => 1, 'time' => 1]); | |
| 654 | + $model->scenario = Feedback::SCENARIO_CALLBACK; | |
| 655 | + $form = ActiveForm::begin([ 'action' => 'site/callback', 'id' => 'callback-form' ]); ?> | |
| 656 | + <div class="input-wr phones_mask required"> | |
| 657 | + <?= $form->field($model, 'phone') | |
| 658 | + ->textInput([ 'placeholder' => '+38(0__)___-__-__' ]) | |
| 659 | + ->label('Телефон') ?> | |
| 660 | + </div> | |
| 661 | + <div class="input-wr"> | |
| 662 | + <div class="style callback-params-title">Когда вам удобно перезвонить?</div> | |
| 663 | + <?= $form->field($model, 'time') | |
| 664 | + ->radioList( | |
| 665 | + [ | |
| 666 | + Feedback::DURING_30_MIN => 'В течение 30 минут', | |
| 667 | + Feedback::FROM_9_12 => 'с 9:00 до 12:00', | |
| 668 | + Feedback::FROM_12_18 => 'с 12:00 до 18:00', | |
| 669 | + ], | |
| 670 | + [ | |
| 671 | + 'item' => function ($index, $label, $name, $checked, $value) { | |
| 672 | + $check = $checked ? ' checked="checked"' : ''; | |
| 673 | + return '<div class="style radio_custom"><input id="time_'.$value.'" type="radio" name="'.$name.'" value="'.$value.'" '.$check.'><label for="time_'.$value.'">'.$label.'</label></div>'; | |
| 674 | + }, | |
| 675 | + ] | |
| 676 | + )->label(false); ?> | |
| 677 | + | |
| 678 | + <!-- <div class="style radio_custom">--> | |
| 679 | + <!-- <input type="radio" id="order-delivery_id1" name="qwerty" value="1" checked="">--> | |
| 680 | + <!-- <label for="order-delivery_id1">В течение 30 минут</label>--> | |
| 681 | + <!-- </div>--> | |
| 682 | + <!----> | |
| 683 | + <!-- <div class="style radio_custom">--> | |
| 684 | + <!-- <input type="radio" id="order-delivery_id2" name="qwerty" value="1">--> | |
| 685 | + <!-- <label for="order-delivery_id2">с 9:00 до 12:00</label>--> | |
| 686 | + <!-- </div>--> | |
| 687 | + <!----> | |
| 688 | + <!-- <div class="style radio_custom">--> | |
| 689 | + <!-- <input type="radio" id="order-delivery_id3" name="qwerty" value="1">--> | |
| 690 | + <!-- <label for="order-delivery_id3">с 12:00 до 18:00</label>--> | |
| 691 | + <!-- </div>--> | |
| 692 | + | |
| 693 | + <div class="style radio-callback-border"></div> | |
| 694 | + </div> | |
| 688 | 695 | |
| 696 | + <div class="input-wr sidebar_checks"> | |
| 697 | + <?= $form->field( | |
| 698 | + $model, | |
| 699 | + 'agree', | |
| 700 | + [ | |
| 701 | + 'template' => '{input}{label}', | |
| 702 | + ] | |
| 703 | + ) | |
| 704 | + ->checkbox([], false) | |
| 705 | + ->label(\Yii::t('app', 'Даю согласие на хранение и обработку персональных данных')); ?> | |
| 706 | +<!-- <input type="checkbox" id="loginform-rememberme" name="LoginForm[rememberMe]" value="1" checked="">--> | |
| 707 | +<!-- <label class="control-label" for="loginform-rememberme">Даю согласие на хранение и обработку персональных данных</label>--> | |
| 708 | + </div> | |
| 709 | + <div class="button-wr"> | |
| 710 | + <div class="close-callback"><span id="modal_close">Закрыть окно</span></div> | |
| 711 | + <button type="submit">Отправить</button> | |
| 712 | + </div> | |
| 713 | + <?php ActiveForm::end() ?> | |
| 714 | + </div> | |
| 715 | + | |
| 716 | + <?php | |
| 717 | + /* @var \artbox\core\forms\Module $moduleVisit */ | |
| 718 | + $moduleVisit = \Yii::$app->getModule('visit'); | |
| 719 | + if (isset($this->params[ 'entity' ]) and isset($this->params[ 'entity_id' ])) { | |
| 720 | + $moduleVisit->inputOptions = array_merge( | |
| 721 | + $moduleVisit->inputOptions, | |
| 722 | + [ | |
| 723 | + 'entity' => [ | |
| 724 | + 'type' => 'hiddenInput', | |
| 725 | + 'options' => [ 'value' => $this->params[ 'entity' ] ], | |
| 726 | + ], | |
| 727 | + 'entity_id' => [ | |
| 728 | + 'type' => 'hiddenInput', | |
| 729 | + 'options' => [ 'value' => $this->params[ 'entity_id' ] ], | |
| 730 | + ], | |
| 731 | + ] | |
| 732 | + ); | |
| 733 | + } | |
| 734 | + ArtboxModalWidget::begin( | |
| 735 | + [ | |
| 736 | + 'modalTagOptions' => [ | |
| 737 | + 'id' => 'write-to', | |
| 738 | + ], | |
| 739 | + 'titleTagOptions' => [ | |
| 740 | + 'class' => 'style form-title', | |
| 741 | + ], | |
| 742 | + 'headerText' => \Yii::t('app', 'Make an appointment'), | |
| 743 | + 'closeTagButton' => 'span', | |
| 744 | + 'closeTagContent' => '', | |
| 745 | + 'closeButtonOptions' => [ | |
| 746 | + 'id' => 'modal_close', | |
| 747 | + ], | |
| 748 | + ] | |
| 749 | + ); | |
| 750 | + | |
| 751 | + $moduleVisit->renderForm($this); | |
| 752 | + | |
| 753 | + ArtboxModalWidget::end(); | |
| 754 | + ?> | |
| 755 | + | |
| 689 | 756 | <div id="success_form" style="display: none;"> |
| 690 | 757 | <span id="modal_close"></span> |
| 691 | - <div class="txt-success"><span><?=\Yii::t('app','Thanks for request')?></span> | |
| 692 | - <p><?=Yii::t('app','We`ll call you later')?>.</p></div> | |
| 758 | + <div class="txt-success"><span><?= \Yii::t('app', 'Thanks for request') ?></span> | |
| 759 | + <p><?= Yii::t('app', 'We`ll call you later') ?>.</p></div> | |
| 693 | 760 | </div> |
| 694 | - <?php | |
| 695 | - //---------------------------------------------------------------------------------------- | |
| 696 | - // микроразметка организации | |
| 697 | - | |
| 698 | - | |
| 699 | - /** | |
| 700 | - * <script type="application/ld+json"> | |
| 701 | - { | |
| 702 | - "@context": "http://schema.org", | |
| 703 | - "@type": "Organization", | |
| 704 | - "url": "http://www.your-company-site.com", | |
| 705 | - "logo": "http://www.example.com/logo.png", | |
| 706 | - "contactPoint": [{ | |
| 707 | - "@type": "ContactPoint", | |
| 708 | - "telephone": "+1-401-555-1212", | |
| 709 | - "contactType": "customer service" | |
| 710 | - }] | |
| 711 | - } | |
| 712 | - </script> | |
| 713 | - */ | |
| 714 | - | |
| 715 | - $layoutMicrodata= | |
| 716 | - [ | |
| 717 | - 'context'=> 'http://schema.org/', | |
| 718 | - 'type'=> 'Organization', | |
| 719 | - 'url'=>Url::home(true), | |
| 720 | - #'logo'=>'http://www.example.com/logo.png', | |
| 721 | - 'logo'=>Url::home(true)."storage/logo/".$settings->logo, | |
| 722 | - 'contactPoint'=>[ | |
| 723 | - '@type'=>'ContactPoint', | |
| 724 | - 'contactType'=>"customer service" | |
| 725 | - ], | |
| 726 | - | |
| 727 | - ]; | |
| 728 | - | |
| 729 | - if(isset($phones[0])) { | |
| 730 | - $layoutMicrodata['contactPoint']['telephone'] = "+38" . $phones[0]; | |
| 731 | - } | |
| 732 | - | |
| 733 | - | |
| 734 | - | |
| 735 | - $settings->email; | |
| 736 | - $microdata=new MicrodataFabric(); | |
| 737 | - $pageMicrodata=$microdata::createJsonFromOrganization($layoutMicrodata)->toJson(); | |
| 738 | - echo $pageMicrodata | |
| 739 | - | |
| 740 | - | |
| 741 | - | |
| 742 | - | |
| 743 | - ?> | |
| 744 | - | |
| 745 | - <?php # выводить если главная страница ?> | |
| 746 | - | |
| 747 | - | |
| 761 | + <?php | |
| 762 | + //---------------------------------------------------------------------------------------- | |
| 763 | + // микроразметка организации | |
| 764 | + | |
| 765 | + /** | |
| 766 | + * <script type="application/ld+json"> | |
| 767 | + * { | |
| 768 | + * "@context": "http://schema.org", | |
| 769 | + * "@type": "Organization", | |
| 770 | + * "url": "http://www.your-company-site.com", | |
| 771 | + * "logo": "http://www.example.com/logo.png", | |
| 772 | + * "contactPoint": [{ | |
| 773 | + * "@type": "ContactPoint", | |
| 774 | + * "telephone": "+1-401-555-1212", | |
| 775 | + * "contactType": "customer service" | |
| 776 | + * }] | |
| 777 | + * } | |
| 778 | + * </script> | |
| 779 | + */ | |
| 780 | + | |
| 781 | + $layoutMicrodata = [ | |
| 782 | + 'context' => 'http://schema.org/', | |
| 783 | + 'type' => 'Organization', | |
| 784 | + 'url' => Url::home(true), | |
| 785 | + #'logo'=>'http://www.example.com/logo.png', | |
| 786 | + 'logo' => Url::home(true) . "storage/logo/" . $settings->logo, | |
| 787 | + 'contactPoint' => [ | |
| 788 | + '@type' => 'ContactPoint', | |
| 789 | + 'contactType' => "customer service", | |
| 790 | + ], | |
| 791 | + | |
| 792 | + ]; | |
| 793 | + | |
| 794 | + if (isset($phones[ 0 ])) { | |
| 795 | + $layoutMicrodata[ 'contactPoint' ][ 'telephone' ] = "+38" . $phones[ 0 ]; | |
| 796 | + } | |
| 797 | + | |
| 798 | + $settings->email; | |
| 799 | + $microdata = new MicrodataFabric(); | |
| 800 | + $pageMicrodata = $microdata::createJsonFromOrganization($layoutMicrodata) | |
| 801 | + ->toJson(); | |
| 802 | + echo $pageMicrodata | |
| 803 | + | |
| 804 | + ?> | |
| 805 | + | |
| 806 | + <?php # выводить если главная страница ?> | |
| 807 | + | |
| 808 | + | |
| 748 | 809 | <?php $this->endBody() ?> |
| 749 | 810 | </body> |
| 750 | 811 | </html> | ... | ... |
frontend/web/js/script.js
| ... | ... | @@ -485,7 +485,24 @@ $(document).ready(function() { |
| 485 | 485 | } |
| 486 | 486 | }); |
| 487 | 487 | |
| 488 | + $(document).on('submit', '#callback-form', function(e) { | |
| 489 | + e.preventDefault(); | |
| 490 | + e.stopImmediatePropagation(); | |
| 491 | + $.post($(this) | |
| 492 | + .attr("action"), $(this) | |
| 493 | + .serialize(), function(data) { | |
| 494 | + document.getElementById("callback-form") | |
| 495 | + .reset(); | |
| 496 | + var data_ = $("#callback-form") | |
| 497 | + .data('yiiActiveForm'); | |
| 498 | + data.validated = false; | |
| 499 | + success() | |
| 500 | + }) | |
| 501 | + .fail(); | |
| 502 | + }); | |
| 488 | 503 | }); |
| 504 | + | |
| 505 | + | |
| 489 | 506 | jQuery.fn.load = function(callback) { |
| 490 | 507 | $(window).on("load", callback) |
| 491 | 508 | }; | ... | ... |