diff --git a/frontend/config/main.php b/frontend/config/main.php
index 46edc31..20c8701 100755
--- a/frontend/config/main.php
+++ b/frontend/config/main.php
@@ -180,7 +180,7 @@
'formId' => 'question-form',
'scenario' => 'question',
'successCallback' => 'function (data) {
- document.getElementById("comment-form").reset();
+ document.getElementById("question-form").reset();
var data = $("#question-form").data(\'yiiActiveForm\');
$("#question-form").find(".submit-close-c-a span").click();
$("#question-form").parent().parent().parent().find(".service-c-a-btns").after("
Спасибо за Вваш вопрос. Мы обязательно на него ответим
")
diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php
index f93d27b..26f722c 100755
--- a/frontend/controllers/SiteController.php
+++ b/frontend/controllers/SiteController.php
@@ -4,10 +4,12 @@
use artbox\core\models\Feedback;
use common\models\Comment;
use common\models\Package;
+ use common\models\Question;
use common\models\Service;
use common\models\Settings;
use common\models\slider\Slide;
use Yii;
+ use yii\data\ActiveDataProvider;
use yii\db\ActiveQuery;
use yii\db\Expression;
use yii\filters\VerbFilter;
@@ -217,4 +219,37 @@
public function actionPage6(){
return $this->render('page6');
}
+
+ public function actionQuestions($service_id = null){
+
+ if (\Yii::$app->request->isAjax){
+ Yii::$app->response->format = Response::FORMAT_JSON;
+ $model = new Question();
+ $model->scenario = Question::SCENARIO_QUESTION;
+ if ($model->load(\Yii::$app->request->post()) and $model->save()){
+ return [
+ 'status' => true,
+ 'message' => 'Спасибо за Ваш вопрос'
+ ];
+ }else{
+ return [
+ 'status' => false,
+ 'message' => 'Ошибка'
+ ];
+ }
+ }
+ $dataProvider = new ActiveDataProvider([
+ 'query' => Question::find()->where(['status' => true])->andFilterWhere(['service_id' => $service_id]),
+ 'pagination' => [
+ 'pageSize' => 10,
+ ],
+ ]);
+ $services = Service::find()->where(['status' => true])->andWhere(['parent_id' => null])->all();
+
+ return $this->render('questions', [
+ 'dataProvider' => $dataProvider,
+ 'services' => $services,
+ 'service_id' => $service_id
+ ]);
+ }
}
diff --git a/frontend/views/service/_prices.php b/frontend/views/service/_prices.php
index 899013a..2e6baa6 100644
--- a/frontend/views/service/_prices.php
+++ b/frontend/views/service/_prices.php
@@ -20,4 +20,7 @@
+
+ Записаться на прием
+
diff --git a/frontend/views/site/_question.php b/frontend/views/site/_question.php
new file mode 100644
index 0000000..b6cabc7
--- /dev/null
+++ b/frontend/views/site/_question.php
@@ -0,0 +1,22 @@
+
+
diff --git a/frontend/views/site/questions.php b/frontend/views/site/questions.php
new file mode 100644
index 0000000..dd285a4
--- /dev/null
+++ b/frontend/views/site/questions.php
@@ -0,0 +1,107 @@
+params[ 'breadcrumbs'][] = \Yii::t('app', 'Вопрос-ответ');
+
+ $model = new Question(['service_id' => $service_id]);
+ $model->scenario = Question::SCENARIO_QUESTION;
+
+ $data = ['' => 'Общие вопросы'] + ArrayHelper::map($services, 'id', 'title');
+ ?>
+
+
+
diff --git a/frontend/web/js/script.js b/frontend/web/js/script.js
index 222e24e..83938a7 100644
--- a/frontend/web/js/script.js
+++ b/frontend/web/js/script.js
@@ -425,12 +425,26 @@ $(document).ready(function() {
}
- $('nav').addClass('hide_')
- $('body').addClass('start-preloader')
+ $('nav').addClass('hide_');
+ $('body').addClass('start-preloader');
+ $(document).on('submit', '#total_question_form', function(e) {
+ e.preventDefault();
+ var form = $(this);
+ var url = form.attr('action');
+ $.post(
+ $(this).attr("action"), $(this).serialize(), function(data) {
+ document.getElementById("total_question-form").reset();
+ form.find('.submit-close-c-a').click();
+ $(".add-answer-forms").after(""+data.message+"
");
+ var dat = form.data('yiiActiveForm');
+ dat.validate = false;
+ }).fail(function(){
+ });
+ });
});
diff --git a/frontend/widgets/FrontendPager.php b/frontend/widgets/FrontendPager.php
new file mode 100644
index 0000000..6b658f0
--- /dev/null
+++ b/frontend/widgets/FrontendPager.php
@@ -0,0 +1,149 @@
+pagination->getPageCount();
+ if ($pageCount < 2 && $this->hideOnSinglePage) {
+ return '';
+ }
+
+ $buttons = [];
+ $currentPage = $this->pagination->getPage();
+
+ // first page
+
+ // prev page
+ if ($this->prevPageLabel !== false) {
+ if (( $page = $currentPage - 1 ) < 0) {
+ $page = 0;
+ }
+ $buttons[] = $this->renderPageButton(
+ $this->prevPageLabel,
+ $page,
+ $this->prevPageCssClass,
+ $currentPage <= 0,
+ false
+ );
+ }
+ $firstPageLabel = '1';
+ list($beginPage, $endPage) = $this->getPageRange();
+ if ($beginPage !== 0) {
+ $buttons[] = $this->renderPageButton(
+ $firstPageLabel,
+ 0,
+ $this->firstPageCssClass,
+ $currentPage <= 0,
+ false
+ );
+ }
+
+ // internal pages
+
+ for ($i = $beginPage; $i <= $endPage; ++$i) {
+ $buttons[] = $this->renderPageButton(
+ $i + 1,
+ $i,
+ null,
+ $this->disableCurrentPageButton && $i == $currentPage,
+ $i == $currentPage
+ );
+ }
+ // last page
+ $lastPageLabel = $this->lastPageLabel === true ? $pageCount : $this->lastPageLabel;
+ if ($lastPageLabel !== false and $endPage !== $pageCount - 1) {
+ if ($endPage + 1 < $pageCount - 1 and $this->dots) {
+ $buttons[] = $this->renderPageButton('...', $endPage + 1, $this->dotsClass, true, false);
+ }
+ if ($lastPageLabel == 'last_number') {
+ $lastPageLabel = $pageCount;
+ }
+ $buttons[] = $this->renderPageButton(
+ $lastPageLabel,
+ $pageCount - 1,
+ $this->lastPageCssClass,
+ $currentPage >= $pageCount - 1,
+ false
+ );
+ }
+ // next page
+ if ($this->nextPageLabel !== false) {
+ if (( $page = $currentPage + 1 ) >= $pageCount - 1) {
+ $page = $pageCount - 1;
+ }
+ $buttons[] = $this->renderPageButton(
+ $this->nextPageLabel,
+ $page,
+ $this->nextPageCssClass,
+ $currentPage >= $pageCount - 1,
+ false
+ );
+ }
+ return Html::tag('ul', implode("\n", $buttons), $this->options);
+ }
+
+ protected function renderPageButton($label, $page, $class, $disabled, $active)
+ {
+ $options = [ 'class' => empty($class) ? $this->pageCssClass : $class ];
+ if ($active) {
+ Html::addCssClass($options, $this->activePageCssClass);
+ }
+ if ($disabled) {
+ Html::addCssClass($options, $this->disabledPageCssClass);
+ $tag = ArrayHelper::remove($this->disabledListItemSubTagOptions, 'tag', 'span');
+
+ return Html::tag('li', Html::tag($tag, $label, $this->disabledListItemSubTagOptions), $options);
+ }
+ $linkOptions = $this->linkOptions;
+ $linkOptions[ 'data-page' ] = $page;
+ if ($page == 0 and !$active) {
+ $link = stristr($this->pagination->createUrl(0), '?', true);
+ /**
+ * @var \artbox\catalog\models\Filter $filter
+ */
+ $filter = \Yii::$app->get('filter')->filterObj;
+ if (key_exists($link, $filter->getReplacedFilters())) {
+ $link = $filter->getReplacedFilters()[ $link ];
+ }
+ return Html::tag(
+ 'li',
+ Html::a($label, $link, $linkOptions),
+ $options
+ );
+ }
+ if ($active) {
+ return Html::tag('li', Html::a($label, null, $linkOptions), $options);
+ } else {
+ return Html::tag('li', Html::a($label, $this->pagination->createUrl($page), $linkOptions), $options);
+ }
+
+ }
+
+ }
\ No newline at end of file
--
libgit2 0.21.4
отделение: + service_id != null) {?> + =$model->service->title?>
+ +