Download the PHP package creativestyle/magesuite-elasticsuite-virtual-category-indexer without Composer
On this page you can find all versions of the php package creativestyle/magesuite-elasticsuite-virtual-category-indexer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download creativestyle/magesuite-elasticsuite-virtual-category-indexer
More information about creativestyle/magesuite-elasticsuite-virtual-category-indexer
Files in creativestyle/magesuite-elasticsuite-virtual-category-indexer
Package magesuite-elasticsuite-virtual-category-indexer
Short Description ElasticSuite Virtual Category Indexer
License OSL-3.0
Homepage https://creativestyle.de
Informations about the package magesuite-elasticsuite-virtual-category-indexer
ElasticSuite Virtual Category Indexer
Configuration
To enable virtual category indexer
or change a cron schedule go to: Store > Configuration > MageSuite > Virtual Category Indexer > General
CLI Commmand
Command | Description |
---|---|
indexer:reindex elasticsuite_virtual_category_indexer |
Reindex all virtual categories. It reindex whole catalogsearch_category index |
magesuite:elasticsuite:virtual-category-products-relations:reindex [-s, --strategy [STRATEGY]] [-c , --ids [CATEGORY IDS]] |
Reindex virtual categories with strategy (full, list, category) |
magesuite:elasticsuite:virtual-category-products-relations:delete |
Cleanup/revert indexed virtual categories relations |
Cron
Full reindexation is runing automaticaly by cron schedule.
Important module classes
Class | Responsibility |
---|---|
MageSuite\ElasticsuiteVirtualCategoryIndexer\Model\Indexer\VirtualCategoryIndexer | Insert product ids into the table catalog_category_product and refresh catalog and elasticsuite indexes |
MageSuite\ElasticsuiteVirtualCategoryIndexer\Model\ElasticsuiteVirtualCategory\Model\Preview | Allow to get raw data from from response from elasticsearch using getRawData() method |
MageSuite\ElasticsuiteVirtualCategoryIndexer\Model\Catalog\ResourceModel\CategoryProduct | Extension Class for Magento\Catalog\Model\ResourceModel\CategoryProduct . Allow to insert product ids for a virtual category into the table catalog_category_product and get theirs ids for other operations |
MageSuite\ElasticsuiteVirtualCategoryIndexer\Model\ResourceModel\CategoryProductRelations | Resource Model which provide the method to delete category ids from the table catalog_category_product . |
MageSuite\ElasticsuiteVirtualCategoryIndexer\Plugin\Catalog\Category\ReindexOnChange | Plugin which is call before runing the reindex method on category model and causes run virtual category indexer |
MageSuite\ElasticsuiteVirtualCategoryIndexer\Plugin\ElasticsuiteVirtualCategory\Model\Rule\GetCategorySearchQuery | Plugin which change value of is_virtual_category attribute to null . It force sending standard category request to elasticsearch instead of depends of the attribute value. |
Extension attribute
Module provide the extension attribute virtual_query
to modify request to elasticsaerch using the plugin.
If it has true
smile works standardly. False
value remove virtual query request.
See: \Smile\ElasticsuiteVirtualCategory\Model\Rule::getCategorySearchQuery
EAV attribute
Module install a new category attribute virtual_category_reindex_required
. If this attribute has value=1
smile works standardly.
Troubleshooting and todo in the future
When change root category of virtual category, previous products still are in the category
To remove product from categories run full reindexation.
After turn on module, virtual category does not display products anymore
If you see products on the preview in admin area:
it seems that ES is able to return the right product IDs in the indexer.
Make sure that the script provides the right category object here:
vendor/creativestyle/magesuite-elasticsuite-virtual-category-indexer/Model/Indexer/VirtualCategoryIndexer.php:150
should be the same as here:
vendor/creativestyle/magesuite-elasticsuite-virtual-category-indexer/Controller/Adminhtml/Category/Virtual/Preview.php:67