Commit 52ac578820415ebd1388a37577ee1ecdd82cf908

Authored by Administrator
1 parent b5777d78

add variantSku

Showing 1 changed file with 27 additions and 17 deletions   Show diff stats
widgets/Seo.php
... ... @@ -23,6 +23,10 @@ class Seo extends Widget
23 23 public $key;
24 24 public $name;
25 25 public $project_name;
  26 + public $widgetData;
  27 +
  28 + public $widgetDynamicData;
  29 + public static $optionsListObject;
26 30 public static $optionsList;
27 31 protected static $check_url;
28 32 protected static $check_url_bool;
... ... @@ -37,9 +41,16 @@ class Seo extends Widget
37 41 public function init()
38 42 {
39 43 $this->url = \Yii::$app->request->url;
  44 +
40 45 $this->project_name = \Yii::$app->name;
  46 +
  47 + $this->widgetData = static::findSeoByUrl($this->url);
  48 +
  49 + $this->widgetDynamicData = $this->findSeoByDynamic();
  50 +
41 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 56 parent::init();
... ... @@ -58,6 +69,8 @@ class Seo extends Widget
58 69 }
59 70  
60 71  
  72 +
  73 +
61 74 switch ($this->row) {
62 75 case self::SEO_TEXT:
63 76  
... ... @@ -68,25 +81,22 @@ class Seo extends Widget
68 81  
69 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 86 } else {
74 87  
75   - $widgetData = static::findSeoByUrl($this->url);
76 88  
77 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 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 111  
102 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 116 if ($default != $this->{self::H1}) {
107 117  
... ... @@ -122,7 +132,7 @@ class Seo extends Widget
122 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 138 if(!empty($filter) && $priority==3 || !empty($filter) && empty($this->{Seo::TITLE})) {
... ... @@ -148,7 +158,7 @@ class Seo extends Widget
148 158  
149 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 163 if (!empty($description)) {
154 164  
... ... @@ -177,7 +187,7 @@ class Seo extends Widget
177 187 $sort = \Yii::$app->request->get('sort', []);
178 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 192 if(!empty($filter) && !$this->checkFilter($filter) && count($filter, COUNT_RECURSIVE) == 2){
183 193 $key = array_keys ( $filter);
... ... @@ -321,15 +331,15 @@ class Seo extends Widget
321 331 * @param $param
322 332 * @param $filter
323 333 * @param $priority
  334 + * @param $widgetData
  335 + * @param $widgetDynamicData
324 336 * @return mixed
325 337 */
326   - protected function selectSeoData($param, $filter, &$priority)
  338 + protected function selectSeoData($param, $filter, $widgetData, $widgetDynamicData, &$priority)
327 339 {
328 340 $result = '';
329 341  
330   - $widgetData = static::findSeoByUrl($this->url);
331 342  
332   - $widgetDynamicData = $this->findSeoByDynamic();
333 343  
334 344 if ($widgetData instanceof \artweb\artbox\seo\models\Seo) {
335 345 $priority = 1;
... ... @@ -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 440 foreach ($optionsList as $optionList => $name) {
... ...