Elasticsuite: Exception on brand page

Created on 4 Feb 2019  路  2Comments  路  Source: Smile-SA/elasticsuite

Preconditions

Magento 2.3.0
php 7.2


Magento Version : 2.3.0


ElasticSuite Version : 2.7.0


Environment : Developer Mode


Third party modules : Mageplaza Shop by Brand (https://www.mageplaza.com/magento-2-shop-by-brand)

Steps to reproduce

  1. Select any brand from brand page (https://supplyapp.com/brand.html/)
  2. It should display all the products for that selected brand (https://supplyapp.com/brand/speedaire.html)

Expected result

  1. Expected result should be like this http://shopbybrand.demo.mageplaza.com/brands/impero-couture.html

Actual result

  1. Exception screen

`1 exception(s):
Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid method Mageplaza\Shopbybrand\Model\Layer\Filter\Attribute::addFacetToCollection

Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid method Mageplaza\Shopbybrand\Model\Layer\Filter\Attribute::addFacetToCollection

0 /var/www/magento/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Block/Navigation.php(187): Magento\Framework\DataObject->__call('addFacetToColle...', Array)

1 /var/www/magento/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Block/Navigation.php(174): Smile\ElasticsuiteCatalog\Block\Navigation->addFacets()

2 /var/www/magento/vendor/magento/framework/View/Element/AbstractBlock.php(273): Smile\ElasticsuiteCatalog\Block\Navigation->_prepareLayout()

3 /var/www/magento/vendor/magento/framework/View/Layout/Generator/Block.php(150): Magento\Framework\View\Element\AbstractBlock->setLayout(Object(Magento\Framework\View\Layout\Interceptor))

4 /var/www/magento/vendor/magento/framework/View/Layout/GeneratorPool.php(81): Magento\Framework\View\Layout\Generator\Block->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))

5 /var/www/magento/vendor/magento/framework/View/Layout.php(343): Magento\Framework\View\Layout\GeneratorPool->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))

6 /var/www/magento/generated/code/Magento/Framework/View/Layout/Interceptor.php(89): Magento\Framework\View\Layout->generateElements()

7 /var/www/magento/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout\Interceptor->generateElements()

8 /var/www/magento/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks()

9 /var/www/magento/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks()

10 /var/www/magento/vendor/magento/framework/View/Page/Config.php(212): Magento\Framework\View\Layout\Builder->build()

11 /var/www/magento/vendor/magento/framework/View/Page/Config.php(575): Magento\Framework\View\Page\Config->build()

12 /var/www/magento/vendor/magento/framework/View/Page/Config.php(533): Magento\Framework\View\Page\Config->getElementAttribute('body', 'class')

13 /var/www/magento/app/code/Mageplaza/Shopbybrand/Controller/Index/View.php(126): Magento\Framework\View\Page\Config->addBodyClass('page-products')

14 /var/www/magento/generated/code/Mageplaza/Shopbybrand/Controller/Index/View/Interceptor.php(24): Mageplaza\Shopbybrand\Controller\Index\View->execute()

15 /var/www/magento/vendor/magento/framework/App/Action/Action.php(108): Mageplaza\Shopbybrand\Controller\Index\View\Interceptor->execute()

16 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))

17 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(138): Mageplaza\Shopbybrand\Controller\Index\View\Interceptor->___callParent('dispatch', Array)

18 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(153): Mageplaza\Shopbybrand\Controller\Index\View\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

19 /var/www/magento/generated/code/Mageplaza/Shopbybrand/Controller/Index/View/Interceptor.php(39): Mageplaza\Shopbybrand\Controller\Index\View\Interceptor->___callPlugins('dispatch', Array, Array)

20 /var/www/magento/vendor/magento/framework/App/FrontController.php(159): Mageplaza\Shopbybrand\Controller\Index\View\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

21 /var/www/magento/vendor/magento/framework/App/FrontController.php(99): Magento\Framework\App\FrontController->processRequest(Object(Magento\Framework\App\Request\Http), Object(Mageplaza\Shopbybrand\Controller\Index\View\Interceptor))

22 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))

23 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)

24 /var/www/magento/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(94): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

25 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

26 /var/www/magento/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

27 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

28 /var/www/magento/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

29 /var/www/magento/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, NULL)

30 /var/www/magento/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

31 /var/www/magento/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()

32 /var/www/magento/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch()

33 /var/www/magento/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))

34 {main}`

wontfix

Most helpful comment

hi @romainruaud ,

Is it possible to disable ElasticSuite layered navigation on my brand pages?

All 2 comments

Hello @interequipment

Most probably and according to the stacktrace you gave, there is a major incompatibility between your module and Elasticsuite.

Mageplaza module is brining his own Mageplaza\Shopbybrand\Model\Layer\Filter\Attribute implementation, like Elasticsuite does.

It's not that surprising if we consider both modules are working on the same functional parts of the layered navigation.

Since compatibility with third-party modules is out of the scope of our Open Source support policy provided here, there is not much we can do.

However, in such cases, we do provide commercial support to ensure building proper compatibility. If you are interested in such kind of support, send and email to fabien.[email protected] and romain.[email protected] and we'll be able to handle your request.

Best regards.

hi @romainruaud ,

Is it possible to disable ElasticSuite layered navigation on my brand pages?

Was this page helpful?
0 / 5 - 0 ratings