Commit c8963ce0e10f55579eb7271f56f74b39106d1a15
1 parent
d7bd5725
Social auth + view history
Showing
1 changed file
with
28 additions
and
0 deletions
Show diff stats
controllers/ArticleController.php
@@ -88,11 +88,39 @@ | @@ -88,11 +88,39 @@ | ||
88 | $model = new Article(); | 88 | $model = new Article(); |
89 | $model->generateLangs(); | 89 | $model->generateLangs(); |
90 | 90 | ||
91 | + if (class_exists('\artbox\catalog\models\Product')) { | ||
92 | + $model->productIds = ArrayHelper::map( | ||
93 | + $model->relatedProducts, | ||
94 | + 'id', | ||
95 | + 'lang.title' | ||
96 | + ); | ||
97 | + } | ||
98 | + | ||
91 | if ($model->loadWithLangs(\Yii::$app->request) && $model->saveWithLangs()) { | 99 | if ($model->loadWithLangs(\Yii::$app->request) && $model->saveWithLangs()) { |
92 | 100 | ||
93 | $categories = Category::find() | 101 | $categories = Category::find() |
94 | ->where([ 'id' => \Yii::$app->request->post('categoryIds') ]) | 102 | ->where([ 'id' => \Yii::$app->request->post('categoryIds') ]) |
95 | ->all(); | 103 | ->all(); |
104 | + | ||
105 | + if (class_exists('\artbox\catalog\models\Product')) { | ||
106 | + /** | ||
107 | + * @var \yii\db\ActiveQuery $query | ||
108 | + */ | ||
109 | + $query = call_user_func( | ||
110 | + [ | ||
111 | + '\artbox\catalog\models\Product', | ||
112 | + 'find', | ||
113 | + ] | ||
114 | + ); | ||
115 | + /** | ||
116 | + * @var \artbox\catalog\models\Product[] $products | ||
117 | + */ | ||
118 | + $products = $query->where([ 'id' => \Yii::$app->request->post('productIds') ]) | ||
119 | + ->all(); | ||
120 | + | ||
121 | + $model->linkMany('relatedProducts', $products); | ||
122 | + } | ||
123 | + | ||
96 | 124 | ||
97 | $model->linkMany('categories', $categories); | 125 | $model->linkMany('categories', $categories); |
98 | 126 |