Commit 8afa1bf26291cd96626b5cc722e7ce4c96c6e93c

Authored by Administrator
1 parent 66aa1226

29.06.16

common/components/Request.php
@@ -15,6 +15,7 @@ class Request extends \yii\web\Request @@ -15,6 +15,7 @@ class Request extends \yii\web\Request
15 15
16 { 16 {
17 17
  18 +
18 return str_replace($this->web, "", parent::getBaseUrl()) . $this->adminUrl; 19 return str_replace($this->web, "", parent::getBaseUrl()) . $this->adminUrl;
19 20
20 } 21 }
frontend/components/SeoComponent.php 0 → 100644
  1 +<?php
  2 +namespace frontend\components;
  3 +
  4 +
  5 +use Yii;
  6 +use yii\base\BootstrapInterface;
  7 +
  8 +class SeoComponent implements BootstrapInterface
  9 +{
  10 +
  11 + public function bootstrap($app)
  12 + {
  13 + \Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function($event) {
  14 + $array = ['%21'=>'!','%22'=>'"','%23'=>'#','%24'=>'$','%25'=>'%','%26'=>'&','%27'=>'\'','%28'=>'(','%29'=>')','%2a'=>'*','%2b'=>'+','%2c'=>',','%2d'=>'-','%2e'=>'.','%2f'=>'/','%3a'=>':','%3b'=>';','%3c'=>'<','%3d'=>'=','%3e'=>'>','%3f'=>'?','%40'=>'@','%5b'=>'[','%5c'=>'\\','%5d'=>']','%5e'=>'^','%5f'=>'_','%60'=>'`','%7b'=>'{','%7c'=>'|','%7d'=>'}','%7e'=>'~'];
  15 + $url = mb_strtolower (\Yii::$app->request->url);
  16 +
  17 + $continue = true;
  18 +
  19 + foreach($array as $sym=>$sym_row){
  20 + if(strpos($url, $sym)){
  21 + $url = str_replace($sym, $sym_row, $url);
  22 + $continue = false;
  23 +
  24 + }
  25 + }
  26 +
  27 + if(!$continue){
  28 + \Yii::$app->getResponse()->redirect($url);
  29 + }
  30 +
  31 + });
  32 + return $app;
  33 + }
  34 +
  35 +}
0 \ No newline at end of file 36 \ No newline at end of file
frontend/config/main.php
@@ -9,7 +9,10 @@ $params = array_merge( @@ -9,7 +9,10 @@ $params = array_merge(
9 return [ 9 return [
10 'id' => 'app-frontend', 10 'id' => 'app-frontend',
11 'basePath' => dirname(__DIR__), 11 'basePath' => dirname(__DIR__),
12 - 'bootstrap' => ['log'], 12 + 'bootstrap' => [
  13 +
  14 + 'frontend\components\SeoComponent',
  15 + ],
13 'controllerNamespace' => 'frontend\controllers', 16 'controllerNamespace' => 'frontend\controllers',
14 'components' => [ 17 'components' => [
15 'authManager' => [ 18 'authManager' => [
frontend/widgets/Seo.php
@@ -197,68 +197,49 @@ class Seo extends Widget @@ -197,68 +197,49 @@ class Seo extends Widget
197 $sort = \Yii::$app->request->get('sort', []); 197 $sort = \Yii::$app->request->get('sort', []);
198 $paginate = \Yii::$app->request->get('page', []); 198 $paginate = \Yii::$app->request->get('page', []);
199 199
200 - $array = ['%21','%22','%23','%24','%25','%26','%27','%28','%29','%2a','%2b','%2c','%2d','%2e','%2f','%3a','%3b','%3c','%3d','%3e','%3f','%40','%5b','%5c','%5d','%5e','%5f','%60','%7b','%7c','%7d','%7e',];  
201 - $url = mb_strtolower (\Yii::$app->request->url);  
202 200
203 - $continue = true;  
204 201
205 - foreach($array as $sym){  
206 - if(strpos($url, $sym)){  
207 - $this->getView()->registerMetaTag([  
208 - 'name' => 'robots',  
209 - 'content' => 'noindex,nofollow'  
210 - ]); 202 + if (!empty($meta)) {
211 203
212 - $continue = false;  
213 - break; 204 + $this->getView()->registerMetaTag([
  205 + 'name' => 'robots',
  206 + 'content' => $meta
  207 + ]);
214 208
215 - }  
216 - } 209 + } else if(!empty($filter['special'])){
217 210
  211 + $this->getView()->registerMetaTag([
  212 + 'name' => 'robots',
  213 + 'content' => 'noindex,follow'
  214 + ]);
218 215
219 - if($continue){  
220 - if (!empty($meta)) {  
221 -  
222 - $this->getView()->registerMetaTag([  
223 - 'name' => 'robots',  
224 - 'content' => $meta  
225 - ]);  
226 -  
227 - } else if(!empty($filter['special'])){  
228 -  
229 - $this->getView()->registerMetaTag([  
230 - 'name' => 'robots',  
231 - 'content' => 'noindex,follow'  
232 - ]);  
233 -  
234 - } else if (  
235 - isset($filter['brands']) && count($filter['brands']) > 1  
236 - || isset($filter['options']["pol"]) && count($filter['options']["pol"]) > 1  
237 - || isset($filter['options']["naznacenie"]) && count($filter['options']["naznacenie"]) > 1  
238 - || isset($filter['options']["god"]) && count($filter['options']["god"]) > 1  
239 -  
240 - ) {  
241 - $this->getView()->registerMetaTag([  
242 - 'name' => 'robots',  
243 - 'content' => 'noindex,nofollow'  
244 - ]);  
245 -  
246 - } else if (  
247 - isset($filter['brands']) && count($filter['brands']) <= 1 && isset($filter['options']) && count($filter['options'], COUNT_RECURSIVE) >= 4  
248 - || isset($filter['options']) && count($filter['options'], COUNT_RECURSIVE) > 4  
249 - || !empty($sort) || !empty($paginate) || isset($filter['prices'])  
250 - ) {  
251 - $this->getView()->registerMetaTag([  
252 - 'name' => 'robots',  
253 - 'content' => 'noindex,follow'  
254 - ]);  
255 - } else { 216 + } else if (
  217 + isset($filter['brands']) && count($filter['brands']) > 1
  218 + || isset($filter['options']["pol"]) && count($filter['options']["pol"]) > 1
  219 + || isset($filter['options']["naznacenie"]) && count($filter['options']["naznacenie"]) > 1
  220 + || isset($filter['options']["god"]) && count($filter['options']["god"]) > 1
256 221
257 - $this->getView()->registerMetaTag([  
258 - 'name' => 'robots',  
259 - 'content' => 'index,follow'  
260 - ]);  
261 - } 222 + ) {
  223 + $this->getView()->registerMetaTag([
  224 + 'name' => 'robots',
  225 + 'content' => 'noindex,nofollow'
  226 + ]);
  227 +
  228 + } else if (
  229 + isset($filter['brands']) && count($filter['brands']) <= 1 && isset($filter['options']) && count($filter['options'], COUNT_RECURSIVE) >= 4
  230 + || isset($filter['options']) && count($filter['options'], COUNT_RECURSIVE) > 4
  231 + || !empty($sort) || !empty($paginate) || isset($filter['prices'])
  232 + ) {
  233 + $this->getView()->registerMetaTag([
  234 + 'name' => 'robots',
  235 + 'content' => 'noindex,follow'
  236 + ]);
  237 + } else {
  238 +
  239 + $this->getView()->registerMetaTag([
  240 + 'name' => 'robots',
  241 + 'content' => 'index,follow'
  242 + ]);
262 } 243 }
263 244
264 245