Commit c316e881391881eb84e261a0d2771567e188f97b

Authored by Alexey Boroda
2 parents a337a53b 358a1aac

Merge remote-tracking branch 'origin/master'

frontend/controllers/SiteController.php
... ... @@ -14,6 +14,7 @@
14 14 use common\models\SignupForm;
15 15 use Yii;
16 16 use yii\base\InvalidParamException;
  17 + use yii\bootstrap\Html;
17 18 use yii\web\BadRequestHttpException;
18 19 use yii\web\Controller;
19 20 use yii\filters\VerbFilter;
... ... @@ -193,6 +194,40 @@
193 194 }
194 195 }
195 196  
  197 + public function actionCallback()
  198 + {
  199 + Yii::$app->response->format = Response::FORMAT_JSON;
  200 + $model = new Feedback(
  201 + [
  202 + 'scenario' => Feedback::SCENARIO_CALLBACK,
  203 + ]
  204 + );
  205 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  206 + \Yii::$app->session->setFlash(
  207 + 'success',
  208 + Html::tag(
  209 + 'div',
  210 + Html::tag(
  211 + 'h3',
  212 + \Yii::t('app', 'Обратный звонок')
  213 + ) . Html::tag(
  214 + 'p',
  215 + \Yii::t(
  216 + 'app',
  217 + 'Ваша заявка успешно отправлена. Мы свяжемся с Вами в ближайшее время.'
  218 + )
  219 + )
  220 + )
  221 + );
  222 + return $this->redirect($model->returnUrl ? : [ 'index' ]);
  223 + } else {
  224 + return [
  225 + 'success' => false,
  226 + 'error' => $model->errors,
  227 + ];
  228 + }
  229 + }
  230 +
196 231 public function actionLogin()
197 232 {
198 233 if (!\Yii::$app->user->isGuest) {
... ...
frontend/views/layouts/main.php
... ... @@ -19,6 +19,7 @@
19 19 use yii\base\Model;
20 20 use yii\bootstrap\ActiveForm;
21 21 use yii\bootstrap\Html;
  22 + use yii\helpers\Url;
22 23 use yii\web\View;
23 24 use yii\widgets\Breadcrumbs;
24 25  
... ... @@ -138,8 +139,8 @@ _________________________________________________________ -->
138 139 </div>
139 140 <div class="inline-block">
140 141 <span class="top-phone"><i class="fa fa-phone"></i>&ensp;<?php echo $settings->phone; ?></span>
141   - <a href="#" class="link-underline_dott">
142   - Обратный звонок
  142 + <a href="#" data-toggle="modal" data-target="#callback-modal" class="link-underline_dott">
  143 + <?php echo "Обратный звонок"; ?>
143 144 </a>
144 145 </div>
145 146 <div class="inline-block login">
... ... @@ -440,6 +441,74 @@ _________________________________________________________ --&gt;
440 441 ?>
441 442  
442 443 <!-- *** Breadcrumbs *** -->
  444 + <!-- *** FEEDBACK MODAL BEGIN *** -->
  445 + <?php
  446 + ?>
  447 +
  448 + <?php
  449 + $callback = new Feedback(
  450 + [
  451 + 'scenario' => Feedback::SCENARIO_CALLBACK,
  452 + 'returnUrl' => Url::current([], true),
  453 + ]
  454 + );
  455 + ?>
  456 + <div class="modal fade" id="callback-modal" tabindex="-1" role="dialog" aria-labelledby="Login" aria-hidden="true">
  457 + <div class="modal-dialog modal-sm">
  458 +
  459 + <div class="modal-content">
  460 + <div class="modal-header">
  461 + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  462 + <h4 class="modal-title callback" id="Login">Обратный звонок</h4>
  463 + </div>
  464 + <div class="modal-body">
  465 + <?php
  466 + $form = ActiveForm::begin(
  467 + [
  468 + 'action' => [ 'site/callback' ],
  469 + ]
  470 + );
  471 + echo $form->field($callback, 'returnUrl')
  472 + ->label(false)
  473 + ->hiddenInput();
  474 + echo $form->field($callback, 'name')
  475 + ->label(false)
  476 + ->textInput(
  477 + [
  478 + 'placeholder' => $callback->getAttributeLabel('name'),
  479 + ]
  480 + );
  481 + echo $form->field($callback, 'phone')
  482 + ->label(false)
  483 + ->textInput(
  484 + [
  485 + 'placeholder' => $callback->getAttributeLabel('phone'),
  486 + ]
  487 + );
  488 + echo Html::tag(
  489 + 'p',
  490 + Html::submitButton(
  491 + Html::icon(
  492 + 'sign-in',
  493 + [
  494 + 'prefix' => 'fa fa-',
  495 + ]
  496 + ) . \Yii::t('app', 'Отправить'),
  497 + [
  498 + 'class' => 'btn btn-template-main',
  499 + ]
  500 + ),
  501 + [
  502 + 'class' => 'text-center',
  503 + ]
  504 + );
  505 + $form::end();
  506 + ?>
  507 + </div>
  508 + </div>
  509 + </div>
  510 + </div>
  511 + <!-- *** FEEDBACK MODAL END *** -->
443 512 <?php
444 513 if (!$isHome) {
445 514 ?>
... ...