Smile-SA / elasticsuite

Smile ElasticSuite - Magento 2 merchandising and search engine built on ElasticSearch
https://elasticsuite.io
Open Software License 3.0
763 stars 342 forks source link

Hyva_SmileElasticsuite: Exception when selecting more than one color in layered nav #3282

Closed OvalMedia closed 6 months ago

OvalMedia commented 6 months ago

Preconditions

Magento: 2.4.6-p1 with Hyva theme PHP: 8.1 Magento demo data installed

Magento Version : 2.4.6-p1

ElasticSuite Version : 2.11.6

Environment : Developer

Third party modules : none

Steps to reproduce

  1. Go to a category (e.g. Women -> Tops)
  2. Pick a color from the color filter -> /women/tops-women.html?color=Blue
  3. Pick a second color from the color filter -> /women/tops-women.html?color[0]=Blue&color[1]=Orange

Expected result

  1. You should end on a page with all products matching the selected colors

Actual result

  1. Shop breaks with this error:

2 exception(s): Exception #0 (Zend_Db_Statement_Exception): SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s), query was: SELECT e., pr., at_color.value AS color, stock_status_index.stock_status AS is_salable FROM catalog_product_entity AS e INNER JOIN catalog_product_relation AS pr ON e.entity_id = pr.child_id INNER JOIN catalog_product_entity_int AS at_color ON (at_color.entity_id = e.entity_id) AND (at_color.attribute_id = '93') AND (at_color.store_id = 0) INNER JOIN cataloginventory_stock_status AS stock_status_index ON e.entity_id = stock_status_index.product_id WHERE (pr.parent_id = '1764') AND (at_color.value = 'Blue', 'Orange') AND (stock_status_index.stock_status = 1) Exception #1 (PDOException): SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)

Exception #0 (Zend_Db_Statement_Exception): SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s), query was: SELECT e., pr., at_color.value AS color, stock_status_index.stock_status AS is_salable FROM catalog_product_entity AS e INNER JOIN catalog_product_relation AS pr ON e.entity_id = pr.child_id INNER JOIN catalog_product_entity_int AS at_color ON (at_color.entity_id = e.entity_id) AND (at_color.attribute_id = '93') AND (at_color.store_id = 0) INNER JOIN cataloginventory_stock_status AS stock_status_index ON e.entity_id = stock_status_index.product_id WHERE (pr.parent_id = '1764') AND (at_color.value = 'Blue', 'Orange') AND (stock_status_index.stock_status = 1)

#1 Magento\Framework\DB\Statement\Pdo\Mysql->_execute() called at [vendor/magento/zend-db/library/Zend/Db/Statement.php:313]
#2 Zend_Db_Statement->execute() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Abstract.php:480]
#3 Zend_Db_Adapter_Abstract->query() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Pdo/Abstract.php:238]
#4 Zend_Db_Adapter_Pdo_Abstract->query() called at [vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:564]
#5 Magento\Framework\DB\Adapter\Pdo\Mysql->_query() called at [vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:634]
#6 Magento\Framework\DB\Adapter\Pdo\Mysql->query() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Abstract.php:737]
#7 Zend_Db_Adapter_Abstract->fetchAll() called at [vendor/magento/framework/Data/Collection/Db/FetchStrategy/Query.php:21]
#8 Magento\Framework\Data\Collection\Db\FetchStrategy\Query->fetchAll() called at [vendor/magento/framework/Data/Collection/AbstractDb.php:782]
#9 Magento\Framework\Data\Collection\AbstractDb->_fetchAll() called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:1137]
#10 Magento\Eav\Model\Entity\Collection\AbstractCollection->_loadEntities() called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:933]
#11 Magento\Eav\Model\Entity\Collection\AbstractCollection->load() called at [vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php:801]
#12 Magento\Catalog\Model\ResourceModel\Product\Collection->load() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#13 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#14 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#15 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Model/ResourceModel/Product/Collection/Interceptor.php:23]
#16 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->load() called at [vendor/magento/framework/Data/Collection.php:300]
#17 Magento\Framework\Data\Collection->getFirstItem() called at [vendor/magento/module-swatches/Helper/Data.php:268]
#18 Magento\Swatches\Helper\Data->loadVariationByFallback() called at [vendor/magento/module-swatches/Model/Plugin/ProductImage.php:97]
#19 Magento\Swatches\Model\Plugin\ProductImage->loadSimpleVariation() called at [vendor/magento/module-swatches/Model/Plugin/ProductImage.php:83]
#20 Magento\Swatches\Model\Plugin\ProductImage->beforeGetImage() called at [vendor/magento/framework/Interception/Interceptor.php:121]
#21 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#22 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Block/Product/AbstractProduct/Interceptor.php:23]
#23 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->getImage() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/product/list/item.phtml:107]
#24 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#25 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#26 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#27 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#28 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#29 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#30 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#31 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#32 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#33 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#34 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:172]
#35 Hyva\Theme\ViewModel\ProductListItem->renderItemHtml()
#36 call_user_func_array() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:192]
#37 Hyva\Theme\ViewModel\ProductListItem->withParentChildLayoutRelationshipExecute() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:134]
#38 Hyva\Theme\ViewModel\ProductListItem->getItemHtmlWithRenderer() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:217]
#39 Hyva\Theme\ViewModel\ProductListItem->getItemHtml() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/product/list.phtml:73]
#40 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#41 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#42 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#43 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#44 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#45 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#46 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#47 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#48 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#49 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#50 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#51 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#52 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#53 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Element/AbstractBlock.php:517]
#54 Magento\Framework\View\Element\AbstractBlock->getChildHtml() called at [vendor/magento/module-catalog/Block/Category/View.php:100]
#55 Magento\Catalog\Block\Category\View->getProductListHtml() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/category/products.phtml:21]
#56 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#57 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#58 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#59 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#60 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#61 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#62 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#63 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#64 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#65 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#66 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#67 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#68 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#69 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#70 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#71 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#72 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#73 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#74 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#75 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#76 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#77 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#78 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#79 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#80 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#81 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#82 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#83 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#84 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#85 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#86 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#87 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:975]
#88 Magento\Framework\View\Layout->getOutput() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#89 Magento\Framework\View\Layout\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#90 Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#91 Magento\Framework\View\Layout\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:41]
#92 Magento\Framework\View\Layout\Interceptor->getOutput() called at [vendor/magento/framework/View/Result/Page.php:260]
#93 Magento\Framework\View\Result\Page->render() called at [vendor/magento/framework/View/Result/Layout.php:171]
#94 Magento\Framework\View\Result\Layout->renderResult() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#95 Magento\Framework\View\Result\Page\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#96 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#97 Magento\Framework\View\Result\Page\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Result/Page/Interceptor.php:32]
#98 Magento\Framework\View\Result\Page\Interceptor->renderResult() called at [vendor/magento/framework/App/Http.php:120]
#99 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#100 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:30]

Exception #1 (PDOException): SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)

#1 Magento\Framework\DB\Statement\Pdo\Mysql->Magento\Framework\DB\Statement\Pdo\{closure}() called at [vendor/magento/framework/DB/Statement/Pdo/Mysql.php:106]
#2 Magento\Framework\DB\Statement\Pdo\Mysql->tryExecute() called at [vendor/magento/framework/DB/Statement/Pdo/Mysql.php:91]
#3 Magento\Framework\DB\Statement\Pdo\Mysql->_execute() called at [vendor/magento/zend-db/library/Zend/Db/Statement.php:313]
#4 Zend_Db_Statement->execute() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Abstract.php:480]
#5 Zend_Db_Adapter_Abstract->query() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Pdo/Abstract.php:238]
#6 Zend_Db_Adapter_Pdo_Abstract->query() called at [vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:564]
#7 Magento\Framework\DB\Adapter\Pdo\Mysql->_query() called at [vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:634]
#8 Magento\Framework\DB\Adapter\Pdo\Mysql->query() called at [vendor/magento/zend-db/library/Zend/Db/Adapter/Abstract.php:737]
#9 Zend_Db_Adapter_Abstract->fetchAll() called at [vendor/magento/framework/Data/Collection/Db/FetchStrategy/Query.php:21]
#10 Magento\Framework\Data\Collection\Db\FetchStrategy\Query->fetchAll() called at [vendor/magento/framework/Data/Collection/AbstractDb.php:782]
#11 Magento\Framework\Data\Collection\AbstractDb->_fetchAll() called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:1137]
#12 Magento\Eav\Model\Entity\Collection\AbstractCollection->_loadEntities() called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:933]
#13 Magento\Eav\Model\Entity\Collection\AbstractCollection->load() called at [vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php:801]
#14 Magento\Catalog\Model\ResourceModel\Product\Collection->load() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#15 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#16 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#17 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Model/ResourceModel/Product/Collection/Interceptor.php:23]
#18 Magento\Catalog\Model\ResourceModel\Product\Collection\Interceptor->load() called at [vendor/magento/framework/Data/Collection.php:300]
#19 Magento\Framework\Data\Collection->getFirstItem() called at [vendor/magento/module-swatches/Helper/Data.php:268]
#20 Magento\Swatches\Helper\Data->loadVariationByFallback() called at [vendor/magento/module-swatches/Model/Plugin/ProductImage.php:97]
#21 Magento\Swatches\Model\Plugin\ProductImage->loadSimpleVariation() called at [vendor/magento/module-swatches/Model/Plugin/ProductImage.php:83]
#22 Magento\Swatches\Model\Plugin\ProductImage->beforeGetImage() called at [vendor/magento/framework/Interception/Interceptor.php:121]
#23 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#24 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Block/Product/AbstractProduct/Interceptor.php:23]
#25 Magento\Catalog\Block\Product\AbstractProduct\Interceptor->getImage() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/product/list/item.phtml:107]
#26 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#27 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#28 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#29 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#30 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#31 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#32 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#33 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#34 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#35 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#36 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:172]
#37 Hyva\Theme\ViewModel\ProductListItem->renderItemHtml()
#38 call_user_func_array() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:192]
#39 Hyva\Theme\ViewModel\ProductListItem->withParentChildLayoutRelationshipExecute() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:134]
#40 Hyva\Theme\ViewModel\ProductListItem->getItemHtmlWithRenderer() called at [vendor/hyva-themes/magento2-theme-module/src/ViewModel/ProductListItem.php:217]
#41 Hyva\Theme\ViewModel\ProductListItem->getItemHtml() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/product/list.phtml:73]
#42 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#43 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#44 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#45 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#46 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#47 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#48 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#49 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#50 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#51 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#52 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#53 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#54 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#55 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Element/AbstractBlock.php:517]
#56 Magento\Framework\View\Element\AbstractBlock->getChildHtml() called at [vendor/magento/module-catalog/Block/Category/View.php:100]
#57 Magento\Catalog\Block\Category\View->getProductListHtml() called at [vendor/hyva-themes/magento2-default-theme/Magento_Catalog/templates/category/products.phtml:21]
#58 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#59 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#60 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#61 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#62 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#63 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#64 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#65 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1117]
#66 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1121]
#67 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:670]
#68 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#69 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#70 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#71 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#72 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#73 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#74 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#75 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#76 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#77 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#78 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#79 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#80 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#81 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#82 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#83 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#84 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#85 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#86 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#87 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#88 Magento\Framework\View\Layout->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#89 Magento\Framework\View\Layout->renderElement() called at [vendor/magento/framework/View/Layout.php:975]
#90 Magento\Framework\View\Layout->getOutput() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#91 Magento\Framework\View\Layout\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#92 Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#93 Magento\Framework\View\Layout\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:41]
#94 Magento\Framework\View\Layout\Interceptor->getOutput() called at [vendor/magento/framework/View/Result/Page.php:260]
#95 Magento\Framework\View\Result\Page->render() called at [vendor/magento/framework/View/Result/Layout.php:171]
#96 Magento\Framework\View\Result\Layout->renderResult() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#97 Magento\Framework\View\Result\Page\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#98 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#99 Magento\Framework\View\Result\Page\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Result/Page/Interceptor.php:32]
#100 Magento\Framework\View\Result\Page\Interceptor->renderResult() called at [vendor/magento/framework/App/Http.php:120]
#101 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#102 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:30]


The culprit seems to be this part of the query: `AND (at_color.value = 'Orange', 'Blue')`
vahonc commented 6 months ago

Hi @OvalMedia,

This issue is most likely related to the Hyva theme again, because if you switch to the Luma theme, you won't have it.

You have to understand Smile team does not support this theme directly, we are only partners. Therefore, similar problems, if they are not really related to errors in the work of our module, have a low priority for us, and all we can do is to draw the attention of the Hyva team to such problems.

BR, Vadym

OvalMedia commented 6 months ago

By default magento does not allow applying more than one option per filter (e.g. color). It is your elasticsuite module that makes multiple options possible in the first place. Example: https://demo.hyva.io/women/tops-women.html?color=50 One color (blue) is selected and it is not possible to select more. But I can manually manipulate that url: https://demo.hyva.io/women/tops-women.html?color[0]=50&color[1]=51 Magento tries to apply 2 colors at once (AND) which yields no results (of course) but there is no error message. It is Elasticsuite and/or the hyva compaibility module that renders the frontend so that the user can pick more than one option leading up to the error.

vahonc commented 6 months ago

@OvalMedia,

I meant that if you will try to reproduce your issue in an environment with Magento and Elasticsuite module installed, but will use a default Magento theme, you will get the results you expect.

You can check how it works on our demo-site.

BR, Vadym

OvalMedia commented 6 months ago

Sorry but I am completely lost here. I was under the impression that the purpose of the hyva compatibility module is that the elasticsuite module works with the hyva theme. I know that the default setup works fine, I am using it in several projects (nice work btw.). The point is that there is a compatibility module maintained by you (smile) and I found a bug but nobody seems to be responsible? I already asked about it in another thread: https://github.com/Smile-SA/elasticsuite/issues/3279 There is a gitlab but you don't seem to use it. What can I do?

I am not trying to be a nuisance. I do care, that is why I am trying to report an issue so the world can become a little better.

romainruaud commented 6 months ago

Hi @OvalMedia

we are definitely responsible for maintaining the Hyva compatibility module.

We'll have a look at this issue (and the others being reported on Gitlab) and provide fixes for them.

At some point I'll have to talk with Hyvä team to check if this would not rather be a better idea to migrate the repository from their Gitlab to here, so that we can be more aware of the existing issues.

Regards

OvalMedia commented 6 months ago

Thx, I would be thrilled.

romainruaud commented 6 months ago

This was fixed on the Hyvä gitlab, please upgrade the compatibility module and let us know if that's OK.

Regards

vahonc commented 6 months ago

@OvalMedia,

I can confirm that it's fixed,

Screenshot from 2024-05-29 13-12-26

so upgrade/re-install our compatibility module.

BR, Vadym

OvalMedia commented 6 months ago

Works. Thank you.