From a3b5a187ea9368b12ee146317284e3515dd2f04f Mon Sep 17 00:00:00 2001 From: as7469 Date: Wed, 8 Feb 2017 14:56:42 +0100 Subject: [PATCH 1/5] Fix for https://github.com/magento/magento2/issues/8392 --- .../Catalog/Model/ProductLink/CollectionProvider.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php index 917a47b637cea..80d625fcb95f5 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php +++ b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php @@ -48,9 +48,14 @@ public function getCollection(\Magento\Catalog\Model\Product $product, $type) $products = $this->providers[$type]->getLinkedProducts($product); $converter = $this->converterPool->getConverter($type); $output = []; + $realoutput = []; foreach ($products as $item) { $output[$item->getId()] = $converter->convert($item); } - return $output; + foreach ($output as $item) { + $realoutput[$item["position"]] = $item; + } + ksort($realoutput); + return $realoutput; } } From 207b160150b020f64b2f9139f973ca2528587bea Mon Sep 17 00:00:00 2001 From: as7469 Date: Wed, 8 Feb 2017 16:42:09 +0100 Subject: [PATCH 2/5] Fix for https://github.com/magento/magento2/issues/8392 --- .../Catalog/Model/ProductLink/CollectionProvider.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php index 80d625fcb95f5..d495da310df00 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php +++ b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php @@ -48,14 +48,14 @@ public function getCollection(\Magento\Catalog\Model\Product $product, $type) $products = $this->providers[$type]->getLinkedProducts($product); $converter = $this->converterPool->getConverter($type); $output = []; - $realoutput = []; + $realoutput = []; foreach ($products as $item) { $output[$item->getId()] = $converter->convert($item); } - foreach ($output as $item) { - $realoutput[$item["position"]] = $item; - } - ksort($realoutput); + foreach ($output as $item) { + $realoutput[$item["position"]] = $item; + } + ksort($realoutput); return $realoutput; } } From 991a54d6d3b40e4151fe4f798044aa94253f121d Mon Sep 17 00:00:00 2001 From: as7469 Date: Mon, 13 Feb 2017 16:07:23 +0100 Subject: [PATCH 3/5] Issue 8392 fix improved --- .../Catalog/Model/ProductLink/CollectionProvider.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php index d495da310df00..47174062488da 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php +++ b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php @@ -53,7 +53,14 @@ public function getCollection(\Magento\Catalog\Model\Product $product, $type) $output[$item->getId()] = $converter->convert($item); } foreach ($output as $item) { - $realoutput[$item["position"]] = $item; + $itemPosition = $item["position"]; + if (!isset($realoutput[$itemposition])) { + $realoutput[$itemPosition] = $item; + } + else { + $newPosition = $itemPosition+1; + $realoutput[$newPosition] = $item; + } } ksort($realoutput); return $realoutput; From acfce4eedf09ba119f5fb4c9f179876a8a3ead02 Mon Sep 17 00:00:00 2001 From: as7469 Date: Mon, 13 Feb 2017 16:09:08 +0100 Subject: [PATCH 4/5] Issue 8392 fix improved --- .../Magento/Catalog/Model/ProductLink/CollectionProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php index 47174062488da..bd27dd473c69c 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php +++ b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php @@ -54,7 +54,7 @@ public function getCollection(\Magento\Catalog\Model\Product $product, $type) } foreach ($output as $item) { $itemPosition = $item["position"]; - if (!isset($realoutput[$itemposition])) { + if (!isset($realoutput[$itemPosition])) { $realoutput[$itemPosition] = $item; } else { From 0002f6d3c4624f660d151d73bcb321f93eb8c032 Mon Sep 17 00:00:00 2001 From: as7469 Date: Mon, 13 Feb 2017 18:16:24 +0100 Subject: [PATCH 5/5] Issue 8392 - formatting wanking --- .../Magento/Catalog/Model/ProductLink/CollectionProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php index bd27dd473c69c..1536c982b40d2 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php +++ b/app/code/Magento/Catalog/Model/ProductLink/CollectionProvider.php @@ -56,7 +56,7 @@ public function getCollection(\Magento\Catalog\Model\Product $product, $type) $itemPosition = $item["position"]; if (!isset($realoutput[$itemPosition])) { $realoutput[$itemPosition] = $item; - } + } else { $newPosition = $itemPosition+1; $realoutput[$newPosition] = $item;