PHP Class Smile\ElasticsuiteVirtualCategory\Model\Rule

Author: Aurelien FOUCRET ([email protected])
Inheritance: extends Smile\ElasticsuiteCatalogRule\Model\Rule, implements Smile\ElasticsuiteVirtualCategory\Api\Data\VirtualRuleInterface
Show file Open project: smile-sa/elasticsuite

Public Methods

Method Description
__construct ( Magento\Framework\Model\Context $context, Magento\Framework\Registry $registry, Magento\Framework\Data\FormFactory $formFactory, Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\CombineFactory $combineConditionsFactory, Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\ProductFactory $productConditionsFactory, QueryFactory $queryFactory, Magento\Catalog\Model\CategoryFactory $categoryFactory, Smile\ElasticsuiteVirtualCategory\Model\ResourceModel\VirtualCategory\CollectionFactory $categoryCollectionFactory, QueryBuilder $queryBuilder, array $data = [] ) Constructor.
getCategorySearchQuery ( Magento\Catalog\Api\Data\CategoryInterface $category, array $excludedCategories = [] ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface Build search query by category.
getSearchQueriesByChildren ( Magento\Catalog\Api\Data\CategoryInterface $rootCategory ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface[] Retrieve search queries of children categories.

Private Methods

Method Description
getChildrenVirtualCategories ( Magento\Catalog\Api\Data\CategoryInterface $category, array $excludedCategories = [] ) : Magento\Catalog\Model\ResourceModel\Category\Collection; Returns the list of the virtual categories available under a category.
getStandardCategoryQuery ( Magento\Catalog\Api\Data\CategoryInterface $category ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface Transform a category in query rule.
getVirtualCategoryQuery ( Magento\Catalog\Api\Data\CategoryInterface $category, array $excludedCategories = [] ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface Transform the virtual category into a QueryInterface used for filtering.
getVirtualRootCategory ( Magento\Catalog\Api\Data\CategoryInterface $category ) : Magento\Catalog\Api\Data\CategoryInterface Load the root category used for a virtual category.

Method Details

__construct() public method

Constructor.
public __construct ( Magento\Framework\Model\Context $context, Magento\Framework\Registry $registry, Magento\Framework\Data\FormFactory $formFactory, Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\CombineFactory $combineConditionsFactory, Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\ProductFactory $productConditionsFactory, QueryFactory $queryFactory, Magento\Catalog\Model\CategoryFactory $categoryFactory, Smile\ElasticsuiteVirtualCategory\Model\ResourceModel\VirtualCategory\CollectionFactory $categoryCollectionFactory, QueryBuilder $queryBuilder, array $data = [] )
$context Magento\Framework\Model\Context Context.
$registry Magento\Framework\Registry Registry.
$formFactory Magento\Framework\Data\FormFactory Form factory.
$localeDate Magento\Framework\Stdlib\DateTime\TimezoneInterface Locale date.
$combineConditionsFactory Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\CombineFactory Search engine rule (combine) condition factory.
$productConditionsFactory Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\ProductFactory Search engine rule (product) condition factory.
$queryFactory Smile\ElasticsuiteCore\Search\Request\Query\QueryFactory Search query factory.
$categoryFactory Magento\Catalog\Model\CategoryFactory Product category factorty.
$categoryCollectionFactory Smile\ElasticsuiteVirtualCategory\Model\ResourceModel\VirtualCategory\CollectionFactory Virtual categories collection factory.
$queryBuilder Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\Product\QueryBuilder Search rule query builder.
$data array Additional data.

getCategorySearchQuery() public method

Build search query by category.
public getCategorySearchQuery ( Magento\Catalog\Api\Data\CategoryInterface $category, array $excludedCategories = [] ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface
$category Magento\Catalog\Api\Data\CategoryInterface Search category.
$excludedCategories array Categories that should not be used into search query building. Used to avoid infinite recursion while building virtual categories rules.
return Smile\ElasticsuiteCore\Search\Request\QueryInterface

getSearchQueriesByChildren() public method

Retrieve search queries of children categories.
public getSearchQueriesByChildren ( Magento\Catalog\Api\Data\CategoryInterface $rootCategory ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface[]
$rootCategory Magento\Catalog\Api\Data\CategoryInterface Root category.
return Smile\ElasticsuiteCore\Search\Request\QueryInterface[]