Skip to content

Commit 6a432e5

Browse files
MAGETWO-49180: Fix related, cross-sell, up-sell to show products according to store
1 parent 97334e5 commit 6a432e5

File tree

5 files changed

+90
-1
lines changed

5 files changed

+90
-1
lines changed

app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Related.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,8 @@ protected function getGrid($scope)
487487
'map' => [
488488
'id' => 'entity_id',
489489
'name' => 'name',
490+
'status' => 'status_text',
491+
'attribute_set' => 'attribute_set_text',
490492
'sku' => 'sku',
491493
'price' => 'price',
492494
'thumbnail' => 'thumbnail_src',

app/code/Magento/Catalog/Ui/DataProvider/Product/Related/AbstractDataProvider.php

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
1414
use Magento\Framework\App\RequestInterface;
1515
use Magento\Catalog\Api\ProductLinkRepositoryInterface;
16+
use Magento\Store\Api\Data\StoreInterface;
17+
use Magento\Store\Api\StoreRepositoryInterface;
1618

1719
/**
1820
* Class AbstractDataProvider
@@ -29,6 +31,11 @@ abstract class AbstractDataProvider extends ProductDataProvider
2931
*/
3032
protected $productRepository;
3133

34+
/**
35+
* @var StoreRepositoryInterface
36+
*/
37+
protected $storeRepository;
38+
3239
/**
3340
* @var ProductLinkRepositoryInterface
3441
*/
@@ -39,13 +46,19 @@ abstract class AbstractDataProvider extends ProductDataProvider
3946
*/
4047
private $product;
4148

49+
/**
50+
* @var StoreInterface
51+
*/
52+
private $store;
53+
4254
/**
4355
* @param string $name
4456
* @param string $primaryFieldName
4557
* @param string $requestFieldName
4658
* @param CollectionFactory $collectionFactory
4759
* @param RequestInterface $request
4860
* @param ProductRepositoryInterface $productRepository
61+
* @param StoreRepositoryInterface $storeRepository
4962
* @param ProductLinkRepositoryInterface $productLinkRepository
5063
* @param array $addFieldStrategies
5164
* @param array $addFilterStrategies
@@ -60,6 +73,7 @@ public function __construct(
6073
CollectionFactory $collectionFactory,
6174
RequestInterface $request,
6275
ProductRepositoryInterface $productRepository,
76+
StoreRepositoryInterface $storeRepository,
6377
ProductLinkRepositoryInterface $productLinkRepository,
6478
$addFieldStrategies,
6579
$addFilterStrategies,
@@ -79,6 +93,7 @@ public function __construct(
7993

8094
$this->request = $request;
8195
$this->productRepository = $productRepository;
96+
$this->storeRepository = $storeRepository;
8297
$this->productLinkRepository = $productLinkRepository;
8398
}
8499

@@ -98,6 +113,10 @@ public function getCollection()
98113
$collection = parent::getCollection();
99114
$collection->addAttributeToSelect('status');
100115

116+
if ($this->getStore()) {
117+
$collection->setStore($this->getStore());
118+
}
119+
101120
if (!$this->getProduct()) {
102121
return $collection;
103122
}
@@ -154,10 +173,24 @@ protected function getProduct()
154173
return null;
155174
}
156175

176+
return $this->product = $this->productRepository->getById($id);
177+
}
178+
179+
/**
180+
* Retrieve store
181+
*
182+
* @return StoreInterface|null
183+
*/
184+
protected function getStore()
185+
{
186+
if (null !== $this->store) {
187+
return $this->store;
188+
}
189+
157190
if (!($storeId = $this->request->getParam('current_store_id'))) {
158191
return null;
159192
}
160193

161-
return $this->product = $this->productRepository->getById($id, false, $storeId);
194+
return $this->store = $this->storeRepository->getById($storeId);
162195
}
163196
}

app/code/Magento/Catalog/view/adminhtml/ui_component/crosssell_product_listing.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@
118118
</item>
119119
</argument>
120120
</column>
121+
<column name="attribute_set_text" class="Magento\Catalog\Ui\Component\Listing\Columns\AttributeSetText">
122+
<argument name="data" xsi:type="array">
123+
<item name="config" xsi:type="array">
124+
<item name="sortOrder" xsi:type="number">41</item>
125+
<item name="label" xsi:type="string" translate="true">AttributeSetText</item>
126+
<item name="visible" xsi:type="boolean">false</item>
127+
</item>
128+
</argument>
129+
</column>
121130
<column name="status">
122131
<argument name="data" xsi:type="array">
123132
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Source\Status</item>
@@ -130,6 +139,15 @@
130139
</item>
131140
</argument>
132141
</column>
142+
<column name="status_text" class="Magento\Catalog\Ui\Component\Listing\Columns\StatusText">
143+
<argument name="data" xsi:type="array">
144+
<item name="config" xsi:type="array">
145+
<item name="sortOrder" xsi:type="number">51</item>
146+
<item name="label" xsi:type="string" translate="true">StatusText</item>
147+
<item name="visible" xsi:type="boolean">false</item>
148+
</item>
149+
</argument>
150+
</column>
133151
<column name="type_id">
134152
<argument name="data" xsi:type="array">
135153
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Type</item>

app/code/Magento/Catalog/view/adminhtml/ui_component/related_product_listing.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,15 @@
117117
</item>
118118
</argument>
119119
</column>
120+
<column name="attribute_set_text" class="Magento\Catalog\Ui\Component\Listing\Columns\AttributeSetText">
121+
<argument name="data" xsi:type="array">
122+
<item name="config" xsi:type="array">
123+
<item name="sortOrder" xsi:type="number">41</item>
124+
<item name="label" xsi:type="string" translate="true">AttributeSetText</item>
125+
<item name="visible" xsi:type="boolean">false</item>
126+
</item>
127+
</argument>
128+
</column>
120129
<column name="status">
121130
<argument name="data" xsi:type="array">
122131
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Source\Status</item>
@@ -129,6 +138,15 @@
129138
</item>
130139
</argument>
131140
</column>
141+
<column name="status_text" class="Magento\Catalog\Ui\Component\Listing\Columns\StatusText">
142+
<argument name="data" xsi:type="array">
143+
<item name="config" xsi:type="array">
144+
<item name="sortOrder" xsi:type="number">51</item>
145+
<item name="label" xsi:type="string" translate="true">StatusText</item>
146+
<item name="visible" xsi:type="boolean">false</item>
147+
</item>
148+
</argument>
149+
</column>
132150
<column name="type_id">
133151
<argument name="data" xsi:type="array">
134152
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Type</item>

app/code/Magento/Catalog/view/adminhtml/ui_component/upsell_product_listing.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,15 @@
117117
</item>
118118
</argument>
119119
</column>
120+
<column name="attribute_set_text" class="Magento\Catalog\Ui\Component\Listing\Columns\AttributeSetText">
121+
<argument name="data" xsi:type="array">
122+
<item name="config" xsi:type="array">
123+
<item name="sortOrder" xsi:type="number">41</item>
124+
<item name="label" xsi:type="string" translate="true">AttributeSetText</item>
125+
<item name="visible" xsi:type="boolean">false</item>
126+
</item>
127+
</argument>
128+
</column>
120129
<column name="status">
121130
<argument name="data" xsi:type="array">
122131
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Source\Status</item>
@@ -129,6 +138,15 @@
129138
</item>
130139
</argument>
131140
</column>
141+
<column name="status_text" class="Magento\Catalog\Ui\Component\Listing\Columns\StatusText">
142+
<argument name="data" xsi:type="array">
143+
<item name="config" xsi:type="array">
144+
<item name="sortOrder" xsi:type="number">51</item>
145+
<item name="label" xsi:type="string" translate="true">StatusText</item>
146+
<item name="visible" xsi:type="boolean">false</item>
147+
</item>
148+
</argument>
149+
</column>
132150
<column name="type_id">
133151
<argument name="data" xsi:type="array">
134152
<item name="options" xsi:type="object">Magento\Catalog\Model\Product\Type</item>

0 commit comments

Comments
 (0)