From 16a2d769a1be5d3ba9b59e9f6753bffca9d97050 Mon Sep 17 00:00:00 2001 From: captainbeer Date: Wed, 17 Feb 2021 11:48:48 +0200 Subject: [PATCH] -Main page SEO --- common/messages/ru/app.php | 4 ++-- common/messages/ua/app.php | 2 +- frontend/controllers/SiteController.php | 524 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ frontend/views/site/index.php | 891 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4 files changed, 651 insertions(+), 770 deletions(-) diff --git a/common/messages/ru/app.php b/common/messages/ru/app.php index e49ffdb..b155488 100755 --- a/common/messages/ru/app.php +++ b/common/messages/ru/app.php @@ -189,7 +189,7 @@ return [ 'index_ses_for' => 'Солнечные станции для', 'index_ses_fiz' => 'физических лиц', 'index_ses_leg' => 'юридических лиц', - 'index_why_us' => 'Проектирование солнечных электростанций', + 'index_why_us' => 'Продажа и проектирование солнечных электростанций', 'index_title1' => 'Мы первые подключили СЭС', 'index_subtitle1' => 'по Зеленому тарифу в Киевской области', @@ -364,4 +364,4 @@ return [ '3rd-type'=> 'Финансовый и технический анализ проекта, аудит объекта', '4th-type'=> 'Строительство "под ключ". Промышленная ФЭС от 2 МВт', -]; \ No newline at end of file +]; diff --git a/common/messages/ua/app.php b/common/messages/ua/app.php index 0e340e9..f26a601 100755 --- a/common/messages/ua/app.php +++ b/common/messages/ua/app.php @@ -191,7 +191,7 @@ return [ 'index_ses_for' => 'Сонячні станції для', 'index_ses_fiz' => 'фізичних осіб', 'index_ses_leg' => 'юридичних осіб', - 'index_why_us' => 'Проектування сонячних електростанцій', + 'index_why_us' => 'Продаж та проектування сонячних електростанцій', 'index_title1' => 'МИ ПЕРШІ ПІДКЛЮЧИЛИ СЕС', 'index_subtitle1' => 'по зеленому тарифу в Київській області', diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index 56ec03c..c9ede8a 100755 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -1,275 +1,295 @@ [ - 'class' => 'yii\web\ErrorAction', - ], - ]; - } - - /** - * @inheritdoc - */ - public function behaviors() - { - return [ - 'verbs' => [ - 'class' => VerbFilter::className(), - 'actions' => [ - 'feedback' => [ 'post' ], - ], + return [ + 'error' => [ + 'class' => 'yii\web\ErrorAction', + ], + ]; + } + + /** + * @inheritdoc + */ + public function behaviors() + { + return [ + 'verbs' => [ + 'class' => VerbFilter::className(), + 'actions' => [ + 'feedback' => ['post'], ], - ]; - } - - /** - * Displays homepage. - * - * @return mixed - */ - public function actionIndex() - { - - $slider = Slider::find() - ->with("slides.lang.image") - ->where([ 'on_home_page' => true ]) - ->one(); - - $objects = Objectkb::find() - ->with('lang.alias') - ->where( - [ - 'id' => [ - 7, - 37, - 38, - 43, - ], - ] - ) - ->orderBy('id') - ->all(); - + ], + ]; + } + + /** + * Displays homepage. + * + * @return mixed + */ + public function actionIndex() + { + + $slider = Slider::find() + ->with("slides.lang.image") + ->where(['on_home_page' => true]) + ->one(); + + $objects = Objectkb::find() + ->with('lang.alias') + ->where( + [ + 'id' => [ + 7, + 37, + 38, + 43, + ], + ] + ) + ->orderBy('id') + ->all(); + + $alias = Alias::find() + ->where( + [ + 'language_id' => Language::getCurrent()->id, + 'route' => '{"0":"site/index"}', + ] + ) + ->one(); + + return $this->render( + 'index', + [ + 'slider' => $slider, + 'objects' => $objects, + 'alias' => $alias, + ] + ); + } + + /** + * Displays contact page. + * + * @return mixed + */ + public function actionContact() + { + $contact = new Feedback(); + + return $this->render( + 'contact', + [ + 'contact' => $contact, + ] + ); + } + + /** + * Displays about page. + * + * @return mixed + */ + public function actionAbout() + { + $page = Page::find() + ->with('lang') + ->where(['id' => 3]) + ->one(); + + if ($page) { return $this->render( - 'index', + 'about', [ - 'slider' => $slider, - 'objects' => $objects, + 'page' => $page, ] ); + + } else { + throw new NotFoundHttpException(); } - + + } + + public function actionIndividual() + { + $idsArray = [ + 25, + 37, + 12, + 42, + ]; + + $objects = Objectkb::find() + ->with('lang.alias') + ->where( + [ + 'id' => $idsArray, + ] + ) + ->indexBy('id') + ->all(); + + return $this->render( + 'individual', + [ + 'objects' => $objects, + 'idsArray' => $idsArray, + ] + ); + } // частное лицо + + public function actionLegal() + + { + $legal = new Feedback(); + + return $this->render( + 'legal', + [ + 'legal' => $legal, + ] + ); + } // юридическое + + public function actionMediaAbout() + { + return $this->render('media-about'); + } // СМИ о нас + + /** + * Action to view robots.txt file dinamycli + * + * @return string + */ + public function actionRobots() + { + $response = \Yii::$app->response; /** - * Displays contact page. - * - * @return mixed + * @var Settings $settings */ - public function actionContact() - { - $contact = new Feedback(); - return $this->render( - 'contact', - [ - 'contact' => $contact, - ] - ); - } - + $settings = Settings::find() + ->one(); + $temp = tmpfile(); + fwrite($temp, $settings->robots); + $meta = stream_get_meta_data($temp); + $response->format = $response::FORMAT_RAW; + $response->headers->set('Content-Type', 'text/plain'); + + return $this->renderFile($meta[ 'uri' ]); + } + + public function actionFeedback() + { + + Yii::$app->response->format = Response::FORMAT_JSON; + /** - * Displays about page. - * - * @return mixed + * @var Mailer $mailer */ - public function actionAbout() - { - $page = Page::find()->with('lang') - ->where(['id' => 3])->one(); - - if ($page) { - return $this->render('about', [ - 'page' => $page, - ]); - - } else { - throw new NotFoundHttpException(); + $mailer = \Yii::$app->get('smtpmailer'); + $settings = Settings::getInstance(); + + if (empty(Yii::$app->request->post())) { + + throw new BadRequestHttpException(); + } else { + + $post = Yii::$app->request->post('Feedback'); + switch ($post[ 'topic' ]) { + case Feedback::SCENARIO_FEEDBACK : + $model = new Feedback(['scenario' => Feedback::SCENARIO_FEEDBACK]); + $view = 'feedback'; + $isLoaded = $model->load(Yii::$app->request->post()); + break; + + case Feedback::SCENARIO_CALLBACK : + $model = new Feedback(['scenario' => Feedback::SCENARIO_CALLBACK]); + $view = 'feedback'; + $isLoaded = $model->load(Yii::$app->request->post()); + break; + + case Feedback::SCENARIO_CALCULATOR: + $model = new Feedback(['scenario' => Feedback::SCENARIO_CALCULATOR]); + $view = 'calculator'; + $isLoaded = $model->load(Yii::$app->request->post()); + $model->setCalcJsonInfo(); + break; + + case Feedback::SCENARIO_LEGAL_FEEDBACK: + $model = new Feedback(['scenario' => Feedback::SCENARIO_LEGAL_FEEDBACK]); + $view = 'legalfeedback'; + $isLoaded = $model->load(Yii::$app->request->post()); + $email = 'haichenko_ky@kbenergy.com.ua'; + $model->setCalcJsonInfo(); + break; + + default: + $model = new Feedback(); + $view = 'feedback'; + $isLoaded = $model->load(Yii::$app->request->post()); } - - } - - public function actionIndividual() - { - $idsArray = [ - 25, - 37, - 12, - 42, - ]; - - $objects = Objectkb::find() - ->with('lang.alias') - ->where( + + if ($isLoaded && $model->save()) { + + $mailer->compose( + $view, [ - 'id' => $idsArray, + 'model' => $model, ] ) - ->indexBy('id') - ->all(); - - return $this->render( - 'individual', - [ - 'objects' => $objects, - 'idsArray' => $idsArray, - ] - ); - } // частное лицо - - public function actionLegal() - - { - $legal = new Feedback(); - return $this->render( - 'legal', - [ - 'legal' => $legal, - ] - ); - } // юридическое - - public function actionMediaAbout() - { - return $this->render('media-about'); - } // СМИ о нас - - /** - * Action to view robots.txt file dinamycli - * - * @return string - */ - public function actionRobots() - { - $response = \Yii::$app->response; - /** - * @var Settings $settings - */ - $settings = Settings::find() - ->one(); - $temp = tmpfile(); - fwrite($temp, $settings->robots); - $meta = stream_get_meta_data($temp); - $response->format = $response::FORMAT_RAW; - $response->headers->set('Content-Type', 'text/plain'); - return $this->renderFile($meta[ 'uri' ]); - } - - public function actionFeedback() - { - - Yii::$app->response->format = Response::FORMAT_JSON; - - - /** - * @var Mailer $mailer - */ - $mailer = \Yii::$app->get('smtpmailer'); - $settings = Settings::getInstance(); - - if (empty(Yii::$app->request->post())) { - - throw new BadRequestHttpException(); + ->setFrom(['artbox@domain.com']) + ->setTo( + [ + !empty($email) ? $email : $settings->email, + ] + ) + ->setSubject(\Yii::t('app', 'Feedback')) + ->send(); + + return [ + 'success' => true, + 'message' => 'Success message', + 'view' => $view, + 'model' => $model->attributeValues, + 'alert' => $this->renderPartial('success_alert'), + ]; } else { - - $post = Yii::$app->request->post('Feedback'); - switch ($post[ 'topic' ]) { - case Feedback::SCENARIO_FEEDBACK : - $model = new Feedback([ 'scenario' => Feedback::SCENARIO_FEEDBACK ]); - $view = 'feedback'; - $isLoaded = $model->load(Yii::$app->request->post()); - break; - - case Feedback::SCENARIO_CALLBACK : - $model = new Feedback([ 'scenario' => Feedback::SCENARIO_CALLBACK ]); - $view = 'feedback'; - $isLoaded = $model->load(Yii::$app->request->post()); - break; - - case Feedback::SCENARIO_CALCULATOR: - $model = new Feedback([ 'scenario' => Feedback::SCENARIO_CALCULATOR ]); - $view = 'calculator'; - $isLoaded = $model->load(Yii::$app->request->post()); - $model->setCalcJsonInfo(); - break; - - case Feedback::SCENARIO_LEGAL_FEEDBACK: - $model = new Feedback([ 'scenario' => Feedback::SCENARIO_LEGAL_FEEDBACK ]); - $view = 'legalfeedback'; - $isLoaded = $model->load(Yii::$app->request->post()); - $email = 'haichenko_ky@kbenergy.com.ua'; - $model->setCalcJsonInfo(); - break; - - default: - $model = new Feedback(); - $view = 'feedback'; - $isLoaded = $model->load(Yii::$app->request->post()); - } - - if ($isLoaded && $model->save()) { - - $mailer->compose( - $view, - [ - 'model' => $model, - ] - ) - ->setFrom(['artbox@domain.com']) - ->setTo( - [ - !empty($email) ? $email : $settings->email, - ] - ) - ->setSubject(\Yii::t('app', 'Feedback')) - ->send(); - - return [ - 'success' => true, - 'message' => 'Success message', - 'view' => $view, - 'model' => $model->attributeValues, - 'alert' => $this->renderPartial('success_alert'), - ]; - } else { - Yii::$app->response->setStatusCode(500); - return [ - 'success' => false, - 'error' => $model->errors, - ]; - } + Yii::$app->response->setStatusCode(500); + + return [ + 'success' => false, + 'error' => $model->errors, + ]; } } } +} diff --git a/frontend/views/site/index.php b/frontend/views/site/index.php index 249d575..3daedd4 100755 --- a/frontend/views/site/index.php +++ b/frontend/views/site/index.php @@ -1,545 +1,406 @@ title = 'KB Energy'; - $currentLang = \artbox\core\models\Language::getCurrent(); - $coordinates = []; - $coordinates['lat'] = empty($settings->lat) ? 0 : $settings->lat; - $coordinates['lon'] = empty($settings->lon) ? 0 : $settings->lon; - - $js = <<< JS +/** + * @var $this yii\web\View + * @var $slider \common\models\Slider + * @var $objects \common\models\Objectkb + * @var $alias \artbox\core\models\Alias + */ + +use common\models\Settings; +use frontend\assets\MapAsset; +use yii\web\View; +use yii\helpers\Url; + +MapAsset::register($this); +$settings = Settings::getInstance(); +$this->title = 'KB Energy'; +$currentLang = \artbox\core\models\Language::getCurrent(); + +$coordinates = []; +$coordinates[ 'lat' ] = empty($settings->lat) ? 0 : $settings->lat; +$coordinates[ 'lon' ] = empty($settings->lon) ? 0 : $settings->lon; + +$js = <<< JS window.lat = {$coordinates['lat']}; window.lon = {$coordinates['lon']}; JS; - - $this->registerJs($js, View::POS_END); + +$this->registerJs($js, View::POS_END); ?>
-
- - slides as $slide){ - if(isset($slide->lang->image)){ - $slideItems[] = $slide->lang->image->getImg(); - } - } - echo \common\models\Carousel::widget( - [ - 'items' => $slideItems - ] - ); - ?> -
- - - +
+ + slides as $slide) { + if (isset($slide->lang->image)) { + $slideItems[] = $slide->lang->image->getImg(); + } + } + echo \common\models\Carousel::widget( + [ + 'items' => $slideItems, + ] + ); + ?> +
+ + + +
+ +
+ + - - - -
-
-
-

+
+
+
+ +
+
+
+

getH1() : Yii::t('app', 'index_why_us') ?>

+
+
+
+
+
+
+ +
+
+

+
-
-
-
-
-
- -
-
-

- -
-
-
-
-
- -
-
-

- -
-
-
-
-
- -
-
-

-
-
-
-
-
-
- -
-
-

-
-
-
-
-
- -
-
-

-
-
-
-
-
- - -
-
-
+
+
+
+
+ +
+
+

+
+
+
+
+
+ +
+
+

+
+
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

-
-
- -
-
- -
-
- -
-
-
- -
-
-
+
+
+
+
-
- - -
-
-
-


+
+

+
+
+
+
+
+
-
-
-
-
- -
-
-

-
-
-
-
-
- -
-
-

-
-
-
-
-
- -
-
-

-
-
-
-
-
- -
-
-

-
-
-
-
-
- -
-
-

+
+

+
+
+
+
+
+ + + +
+
+
+
+
+
+ +
+
+
+
+

+
+
+ +
+
+ -
-
-
- -
-
-

+
+ + + + + +
+ + +
+
+
+

+ + lang->object_name ?> + +

+
+
-
- -
+
+ +
+
+
+ +
+
+
+
+
+ + +
+
+
+


+

+
+
+
+
+
+
+
+

+
-
-
-
-
-

+
+
+
+
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
-
- -
-
-
-
- -
+
+

+
+
+
+
+
+
-
- - - +
+

+
+
+
+
+
+
+
+

+
-
- -
-
-
-
-
-

-
- - - -
- +
+
+
+
+
+

+
-
-url == 'ru'){ ?> -
-
-
-
-
- -

Проектирование солнечных станций в Украине — это разработка технической документации, а также сметы вашего проекта.

- -

В проектирование входит ТЭО, обязательный анализ потребления энергии, электросхема, продумывание монтажа опорных компонентов, а также расчеты наиболее оптимального угла для выработки солнечной энергии и согласование с контролирующими органами.

- -

Этапы проектирования солнечных электростанции

- -

В перечень услуг проектирования солнечной электростанции входит:

-
    -
  • Составление пояснительной записки в которой собраны данные про показатели электроснабжения, электропотребителей, расчет нагрузок, учет электроэнергии, контур заземления, защитные меры, и расчетная таблица электрической нагрузки на розетки.
  • - -
  • Оценка влияния на окружающею среду — это оценка влияния СЭС на близлежащие водоемы, флору и фауну региона строительства объекта.
  • - -
  • Генеральный план проекта солнечной электростанции — это чертеж-карта с инженерными отметками размещения объекта.
  • - -
  • Архитектурно-строительные решения — это составление реализуемого фундамента под КТП (комплектные трансформаторные подстанции), проведение видеонаблюдения и охраны территории, а также монтаж подходящих металлоконструкций крепления фотомодулей.
  • - -
  • Описание методов изготовления и вида металла для металлоконструкций вашего проекта.
  • - -
  • Электротехнические решения — готовый документ в котором описываются энергоэффективные решения для вашего проекта, в частности, возможность выработки солнечной энергии с помощью СЭС.
  • - -
  • Создание 3D-модели будущей СЭС с помощью специального программного обеспечения.
  • - -
  • Сметная документация — это завершающий этап проектирования солнечных электростанций с описанием целесообразности и реализуемости, в него также входит просчет объекта (как государственного) на основе денег из бюджета Украины для дальнейшего подключения по Зеленому тарифу.
  • -
-

Строительство солнечных электростанций

- -

После проектирования СЭС осуществляется строительство солнечных электростанций. На этом этапе делают опорные установки и конструкции под специальным углом наклона, также на крышу монтируют кремниевые или поликристаллические солнечные батареи.

- -

Почему это мы?

- -

Наш большой опыт позволил воплотить в жизнь уже свыше 200 проектов, а также проектирование первой солнечной электростанции по Зеленому тарифу в Киевской области. Преимущества компании KB Energy:

-
    -
  • Полное сопровождение клиентов по Зеленому тарифу;
  • - -
  • Штат высококвалифированных команды;
  • - -
  • Поставка оригинального оборудования;
  • - -
  • Консультация по всем вопросам входящее в стоимость;
  • - -
  • Предоставляем решения для частных и коммерческих проектов;
  • - -
  • Партнерство с Укргазбанком;
  • - -
  • Быстрая реализация вашего проекта.
- -
-
+
+
+
+
+
+

+
+
+
+ +
+
+
- - -
-
- +
+
+
+

+
+
+
+
+ +
+
+ +
-
-
\ No newline at end of file +
+
+ +
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ + + +
+
+ + +
+
+
+
+
+

+
+ + + +
+ +
+
+
+ +
+
+
+
+
+ getText() ?> +
+
+
+
+
+ + +
+
+ +
+
+ -- libgit2 0.21.4