Commit c5c80cc06b718f26fa5a5a9ea0c29913504cf6bc

Authored by Administrator
1 parent b4b39c8e

big commti

common/modules/product/CatalogUrlManager.php
... ... @@ -35,9 +35,12 @@ class CatalogUrlManager implements UrlRuleInterface {
35 35 preg_match($pattern,$paths[0], $match );
36 36 if(!empty($match)){
37 37 $old_item_name = explode('-',$paths[0] );
  38 + array_pop($old_item_name);
  39 + $count = count($old_item_name)-1;
38 40  
39   - if(isset($old_item_name[5]) && isset($old_item_name[5]) == 'dis' ){
40   - $sku = $old_item_name[2].'/'.$old_item_name[3].'/'.$old_item_name[4].'_'.$old_item_name[5];
  41 + if(isset($old_item_name[$count]) && $old_item_name[$count] == 'dis' ){
  42 +
  43 + $sku = $old_item_name[$count-3].'/'.$old_item_name[$count-2].'/'.$old_item_name[$count-1].'_'.$old_item_name[$count];
41 44 $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
42 45 if($product_variant instanceof ProductVariant){
43 46  
... ... @@ -49,8 +52,9 @@ class CatalogUrlManager implements UrlRuleInterface {
49 52 }
50 53  
51 54  
52   - if(isset($old_item_name[2]) && isset($old_item_name[3]) && isset($old_item_name[4])&& isset($old_item_name[5])){
53   - $sku = $old_item_name[2].'/'.$old_item_name[3].'/'.$old_item_name[4].'/'.$old_item_name[5];
  55 + if(isset($old_item_name[$count-3]) && isset($old_item_name[$count-2]) && isset($old_item_name[$count-1]) && isset($old_item_name[$count])){
  56 +
  57 + $sku = $old_item_name[$count-3].'/'.$old_item_name[$count-2].'/'.$old_item_name[$count-1].'/'.$old_item_name[$count];
54 58 $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
55 59 if($product_variant instanceof ProductVariant){
56 60  
... ... @@ -61,11 +65,53 @@ class CatalogUrlManager implements UrlRuleInterface {
61 65 }
62 66 }
63 67  
64   - if(isset($old_item_name[2]) && isset($old_item_name[3]) && isset($old_item_name[4])){
65   - $sku = $old_item_name[2].'/'.$old_item_name[3].'/'.$old_item_name[4];
  68 + if(isset($old_item_name[$count-2]) && isset($old_item_name[$count-1]) && isset($old_item_name[$count])){
  69 + $sku = $old_item_name[$count-2].'/'.$old_item_name[$count-1].'/'.$old_item_name[$count];
  70 + $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
  71 +
  72 + if($product_variant instanceof ProductVariant){
  73 +
  74 + $link = 'product'.'/'. $product_variant->product->alias;
  75 + header("Status: 301");
  76 + header("Location: http://www.test-22.artweb.com.ua/".$link);
  77 + die();
  78 + }
  79 + $sku = $old_item_name[$count-2].'/'.$old_item_name[$count-1].' '.$old_item_name[$count];
  80 + $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
  81 +
  82 + if($product_variant instanceof ProductVariant){
  83 + $link = 'product'.'/'. $product_variant->product->alias;
  84 + header("Status: 301");
  85 + header("Location: http://www.test-22.artweb.com.ua/".$link);
  86 + die();
  87 + }
  88 +
  89 + $sku = $old_item_name[$count-2].'/'.$old_item_name[$count-1].'-'.$old_item_name[$count];
  90 + $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
  91 +
  92 + if($product_variant instanceof ProductVariant){
  93 + $link = 'product'.'/'. $product_variant->product->alias;
  94 + header("Status: 301");
  95 + header("Location: http://www.test-22.artweb.com.ua/".$link);
  96 + die();
  97 + }
  98 +
  99 + $sku = $old_item_name[$count-2].'/'.$old_item_name[$count-1].'_'.$old_item_name[$count];
66 100 $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
67 101  
68 102 if($product_variant instanceof ProductVariant){
  103 + $link = 'product'.'/'. $product_variant->product->alias;
  104 + header("Status: 301");
  105 + header("Location: http://www.test-22.artweb.com.ua/".$link);
  106 + die();
  107 + }
  108 +
  109 + }
  110 +
  111 + if(isset($old_item_name[$count-1]) && isset($old_item_name[$count])){
  112 + $sku = $old_item_name[$count-1].'/'.$old_item_name[$count];
  113 + $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
  114 + if($product_variant instanceof ProductVariant){
69 115  
70 116 $link = 'product'.'/'. $product_variant->product->alias;
71 117 header("Status: 301");
... ... @@ -74,8 +120,8 @@ class CatalogUrlManager implements UrlRuleInterface {
74 120 }
75 121 }
76 122  
77   - if(isset($old_item_name[2]) && isset($old_item_name[3])){
78   - $sku = $old_item_name[2].'/'.$old_item_name[3];
  123 + if(isset($old_item_name[$count])){
  124 + $sku = $old_item_name[$count];
79 125 $product_variant = ProductVariant::find()->where(['sku'=>$sku])->one();
80 126 if($product_variant instanceof ProductVariant){
81 127  
... ... @@ -88,7 +134,9 @@ class CatalogUrlManager implements UrlRuleInterface {
88 134 }
89 135 }
90 136  
91   -
  137 + /**
  138 + * end linija-svitla.ua only
  139 + */
92 140  
93 141  
94 142  
... ...
frontend/views/event/_product_item.php
... ... @@ -28,7 +28,7 @@ $category = $model->category;
28 28 }
29 29  
30 30 ?>
31   - <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->enabledVariants[ 0 ]->imageUrl, 'list', [
  31 + <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->variant->imageUrl, 'list', [
32 32 'alt' => $model->category->name . ' ' . $model->fullname,
33 33 'title' => $model->category->name . ' ' . $model->fullname,
34 34 'class' => 'selected'
... ... @@ -92,10 +92,10 @@ $category = $model-&gt;category;
92 92 // есть скидка
93 93 echo '<p class="cost">';
94 94 if($model->enabledVariants[ 0 ]->price_old != 0 && $model->enabledVariants[ 0 ]->price_old != $model->enabledVariants[ 0 ]->price) {
95   - echo '<strike><span id=\'old_cost\' itemprop="price">' . $model->enabledVariants[0]->price_old . '</span> грн.</strike>&nbsp;';
96   - echo $model->enabledVariants[0]->price . ' <span>грн.</span></p>';
  95 + echo '<strike><span id=\'old_cost\' itemprop="price">' . $model->variant->price_old . '</span> грн.</strike>&nbsp;';
  96 + echo $model->variant->price . ' <span>грн.</span></p>';
97 97 } else {
98   - echo '<span itemprop="price">'.$model->enabledVariants[0]->price . ' </span><span>грн.</span></p>';
  98 + echo '<span itemprop="price">'.$model->variant->price . ' </span><span>грн.</span></p>';
99 99 }
100 100 echo '<meta itemprop="priceCurrency" content = "UAH">';
101 101 echo '</div>';
... ...