@@ -32,22 +32,31 @@ class Tree
32
32
*/
33
33
protected $ treeFactory ;
34
34
35
+ /**
36
+ * @var \Magento\Catalog\Model\ResourceModel\Category\TreeFactory
37
+ */
38
+ private $ treeResourceFactory ;
39
+
35
40
/**
36
41
* @param \Magento\Catalog\Model\ResourceModel\Category\Tree $categoryTree
37
42
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
38
43
* @param \Magento\Catalog\Model\ResourceModel\Category\Collection $categoryCollection
39
44
* @param \Magento\Catalog\Api\Data\CategoryTreeInterfaceFactory $treeFactory
45
+ * @param \Magento\Catalog\Model\ResourceModel\Category\TreeFactory|null $treeResourceFactory
40
46
*/
41
47
public function __construct (
42
48
\Magento \Catalog \Model \ResourceModel \Category \Tree $ categoryTree ,
43
49
\Magento \Store \Model \StoreManagerInterface $ storeManager ,
44
50
\Magento \Catalog \Model \ResourceModel \Category \Collection $ categoryCollection ,
45
- \Magento \Catalog \Api \Data \CategoryTreeInterfaceFactory $ treeFactory
51
+ \Magento \Catalog \Api \Data \CategoryTreeInterfaceFactory $ treeFactory ,
52
+ \Magento \Catalog \Model \ResourceModel \Category \TreeFactory $ treeResourceFactory = null
46
53
) {
47
54
$ this ->categoryTree = $ categoryTree ;
48
55
$ this ->storeManager = $ storeManager ;
49
56
$ this ->categoryCollection = $ categoryCollection ;
50
57
$ this ->treeFactory = $ treeFactory ;
58
+ $ this ->treeResourceFactory = $ treeResourceFactory ?? \Magento \Framework \App \ObjectManager::getInstance ()
59
+ ->get (\Magento \Catalog \Model \ResourceModel \Category \TreeFactory::class);
51
60
}
52
61
53
62
/**
@@ -77,7 +86,8 @@ public function getRootNode($category = null)
77
86
protected function getNode (\Magento \Catalog \Model \Category $ category )
78
87
{
79
88
$ nodeId = $ category ->getId ();
80
- $ node = $ this ->categoryTree ->loadNode ($ nodeId );
89
+ $ categoryTree = $ this ->treeResourceFactory ->create ();
90
+ $ node = $ categoryTree ->loadNode ($ nodeId );
81
91
$ node ->loadChildren ();
82
92
$ this ->prepareCollection ();
83
93
$ this ->categoryTree ->addCollectionData ($ this ->categoryCollection );
0 commit comments