Commit c316e881391881eb84e261a0d2771567e188f97b
Merge remote-tracking branch 'origin/master'
Showing
2 changed files
with
106 additions
and
2 deletions
Show diff stats
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> <?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 @@ _________________________________________________________ --> |
| 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">×</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 | ?> | ... | ... |