Commit 52ac578820415ebd1388a37577ee1ecdd82cf908

Authored by Administrator
1 parent b5777d78

add variantSku

Showing 1 changed file with 27 additions and 17 deletions   Show diff stats
@@ -23,6 +23,10 @@ class Seo extends Widget @@ -23,6 +23,10 @@ class Seo extends Widget
23 public $key; 23 public $key;
24 public $name; 24 public $name;
25 public $project_name; 25 public $project_name;
  26 + public $widgetData;
  27 +
  28 + public $widgetDynamicData;
  29 + public static $optionsListObject;
26 public static $optionsList; 30 public static $optionsList;
27 protected static $check_url; 31 protected static $check_url;
28 protected static $check_url_bool; 32 protected static $check_url_bool;
@@ -37,9 +41,16 @@ class Seo extends Widget @@ -37,9 +41,16 @@ class Seo extends Widget
37 public function init() 41 public function init()
38 { 42 {
39 $this->url = \Yii::$app->request->url; 43 $this->url = \Yii::$app->request->url;
  44 +
40 $this->project_name = \Yii::$app->name; 45 $this->project_name = \Yii::$app->name;
  46 +
  47 + $this->widgetData = static::findSeoByUrl($this->url);
  48 +
  49 + $this->widgetDynamicData = $this->findSeoByDynamic();
  50 +
41 if(empty(self::$optionsList)){ 51 if(empty(self::$optionsList)){
42 - self::$optionsList = ArrayHelper::getColumn(TaxGroup::find()->joinWith('lang')->where(['is_filter' => 'TRUE'])->asArray()->all(),'lang.alias'); 52 + self::$optionsListObject = TaxGroup::find()->joinWith('lang')->where(['is_filter' => 'TRUE'])->asArray()->all();
  53 + self::$optionsList = ArrayHelper::getColumn(self::$optionsListObject,'lang.alias');
43 } 54 }
44 55
45 parent::init(); 56 parent::init();
@@ -58,6 +69,8 @@ class Seo extends Widget @@ -58,6 +69,8 @@ class Seo extends Widget
58 } 69 }
59 70
60 71
  72 +
  73 +
61 switch ($this->row) { 74 switch ($this->row) {
62 case self::SEO_TEXT: 75 case self::SEO_TEXT:
63 76
@@ -68,25 +81,22 @@ class Seo extends Widget @@ -68,25 +81,22 @@ class Seo extends Widget
68 81
69 if(empty($filter) && empty($sort) && empty($paginate) ){ 82 if(empty($filter) && empty($sort) && empty($paginate) ){
70 83
71 - return $this->prepareString($this->selectSeoData(self::SEO_TEXT,$filter,$priority)); 84 + return $this->prepareString($this->selectSeoData(self::SEO_TEXT,$filter, $this->widgetData, $this->widgetData, $priority));
72 85
73 } else { 86 } else {
74 87
75 - $widgetData = static::findSeoByUrl($this->url);  
76 88
77 $result = ''; 89 $result = '';
78 90
79 - if ($widgetData instanceof \artweb\artbox\seo\models\Seo) { 91 + if ($this->widgetData instanceof \artweb\artbox\seo\models\Seo) {
80 92
81 - $result = $widgetData->{self::SEO_TEXT}; 93 + $result = $this->widgetData->{self::SEO_TEXT};
82 94
83 } else { 95 } else {
84 96
85 - $widgetData = $this->findSeoByDynamic();  
86 -  
87 - if ($widgetData instanceof SeoDynamic) { 97 + if ($this->widgetData instanceof SeoDynamic) {
88 98
89 - $result = $widgetData->lang->{self::SEO_TEXT}; 99 + $result = $this->widgetData->lang->{self::SEO_TEXT};
90 100
91 } 101 }
92 102
@@ -101,7 +111,7 @@ class Seo extends Widget @@ -101,7 +111,7 @@ class Seo extends Widget
101 111
102 $filter = \Yii::$app->request->get('filters', []); 112 $filter = \Yii::$app->request->get('filters', []);
103 113
104 - $default = $this->selectSeoData(self::H1, $filter,$priority); 114 + $default = $this->selectSeoData(self::H1, $filter, $this->widgetData, $this->widgetData, $priority);
105 115
106 if ($default != $this->{self::H1}) { 116 if ($default != $this->{self::H1}) {
107 117
@@ -122,7 +132,7 @@ class Seo extends Widget @@ -122,7 +132,7 @@ class Seo extends Widget
122 $filter = \Yii::$app->request->get('filters', []); 132 $filter = \Yii::$app->request->get('filters', []);
123 133
124 134
125 - $title = $this->selectSeoData(self::TITLE, $filter,$priority); 135 + $title = $this->selectSeoData(self::TITLE, $filter, $this->widgetData, $this->widgetData, $priority);
126 136
127 137
128 if(!empty($filter) && $priority==3 || !empty($filter) && empty($this->{Seo::TITLE})) { 138 if(!empty($filter) && $priority==3 || !empty($filter) && empty($this->{Seo::TITLE})) {
@@ -148,7 +158,7 @@ class Seo extends Widget @@ -148,7 +158,7 @@ class Seo extends Widget
148 158
149 $filter = \Yii::$app->request->get('filters', []); 159 $filter = \Yii::$app->request->get('filters', []);
150 160
151 - $description = $this->selectSeoData(self::DESCRIPTION, $filter,$priority); 161 + $description = $this->selectSeoData(self::DESCRIPTION, $filter, $this->widgetData, $this->widgetData, $priority);
152 162
153 if (!empty($description)) { 163 if (!empty($description)) {
154 164
@@ -177,7 +187,7 @@ class Seo extends Widget @@ -177,7 +187,7 @@ class Seo extends Widget
177 $sort = \Yii::$app->request->get('sort', []); 187 $sort = \Yii::$app->request->get('sort', []);
178 $paginate = \Yii::$app->request->get('page', []); 188 $paginate = \Yii::$app->request->get('page', []);
179 189
180 - $meta = $this->selectSeoData(self::META, $filter,$priority); 190 + $meta = $this->selectSeoData(self::META, $filter, $this->widgetData, $this->widgetData, $priority);
181 191
182 if(!empty($filter) && !$this->checkFilter($filter) && count($filter, COUNT_RECURSIVE) == 2){ 192 if(!empty($filter) && !$this->checkFilter($filter) && count($filter, COUNT_RECURSIVE) == 2){
183 $key = array_keys ( $filter); 193 $key = array_keys ( $filter);
@@ -321,15 +331,15 @@ class Seo extends Widget @@ -321,15 +331,15 @@ class Seo extends Widget
321 * @param $param 331 * @param $param
322 * @param $filter 332 * @param $filter
323 * @param $priority 333 * @param $priority
  334 + * @param $widgetData
  335 + * @param $widgetDynamicData
324 * @return mixed 336 * @return mixed
325 */ 337 */
326 - protected function selectSeoData($param, $filter, &$priority) 338 + protected function selectSeoData($param, $filter, $widgetData, $widgetDynamicData, &$priority)
327 { 339 {
328 $result = ''; 340 $result = '';
329 341
330 - $widgetData = static::findSeoByUrl($this->url);  
331 342
332 - $widgetDynamicData = $this->findSeoByDynamic();  
333 343
334 if ($widgetData instanceof \artweb\artbox\seo\models\Seo) { 344 if ($widgetData instanceof \artweb\artbox\seo\models\Seo) {
335 $priority = 1; 345 $priority = 1;
@@ -424,7 +434,7 @@ class Seo extends Widget @@ -424,7 +434,7 @@ class Seo extends Widget
424 } 434 }
425 435
426 436
427 - $optionsList = ArrayHelper::map(TaxGroup::find()->joinWith('lang')->where(['is_filter' => 'TRUE'])->asArray()->all(), 'lang.alias', 'name'); 437 + $optionsList = ArrayHelper::map(self::$optionsListObject, 'lang.alias', 'name');
428 438
429 439
430 foreach ($optionsList as $optionList => $name) { 440 foreach ($optionsList as $optionList => $name) {