Skip to content

Commit 1788eda

Browse files
authored
Merge pull request #3044 from Smile-SA/add-attr-for-proper-virt-cat-load
Add observer to load mandatory attributes on category collections
2 parents a15dd51 + 5cf244e commit 1788eda

2 files changed

Lines changed: 44 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
/**
3+
* DISCLAIMER
4+
*
5+
* Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
6+
* versions in the future.
7+
*
8+
* @category Smile
9+
* @package Smile\ElasticsuiteVirtualCategory
10+
* @author Romain Ruaud <romain.ruaud@smile.fr>
11+
* @copyright 2020 Smile
12+
* @license Open Software License ("OSL") v. 3.0
13+
*/
14+
namespace Smile\ElasticsuiteVirtualCategory\Observer;
15+
16+
/**
17+
* Observer that selects mandatory attributes on category collections
18+
* to correctly process product loading on 'Virtual Categories'
19+
*
20+
* @category Smile
21+
* @package Smile\ElasticsuiteVirtualCategory
22+
* @author Romain Ruaud <romain.ruaud@smile.fr>
23+
* @author Nicolas Graeter <info@graeter-it.de>
24+
*/
25+
class AddCategoryAttributesToSelect implements \Magento\Framework\Event\ObserverInterface
26+
{
27+
/**
28+
* Observer listening to catalog_category_collection_load_before
29+
*
30+
* @param \Magento\Framework\Event\Observer $observer The Observer
31+
*
32+
* @return void
33+
*/
34+
public function execute(\Magento\Framework\Event\Observer $observer)
35+
{
36+
/** @var \Magento\Catalog\Model\ResourceModel\Category\Collection $categoryCollection */
37+
$categoryCollection = $observer->getCategoryCollection();
38+
$categoryCollection->addAttributeToSelect(['virtual_category_root', 'is_virtual_category', 'virtual_rule']);
39+
}
40+
}

src/module-elasticsuite-virtual-category/etc/events.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
*/
1717
-->
1818
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
19+
<event name="catalog_category_collection_load_before">
20+
<observer name="smile_elasticsuite_virtual_categories_collection_load_before" instance="Smile\ElasticsuiteVirtualCategory\Observer\AddCategoryAttributesToSelect"/>
21+
</event>
22+
1923
<event name="catalog_category_move_before">
2024
<observer name="smile_elasticsuite_virtual_categories_move_before" instance="Smile\ElasticsuiteVirtualCategory\Observer\MoveVirtualCategoryRoot"/>
2125
</event>

0 commit comments

Comments
 (0)