Elasticsuite: Amasty Improved Layered Navigation Community vs Elasticsuite Compatibility

Created on 4 Oct 2017  路  9Comments  路  Source: Smile-SA/elasticsuite


Hi I installed the Smile/Elasticsuite on my development enviroment and I'm getting some injection problemns with FilterList class injection on Amasty Improved Layered Navigation Community 2.2.0 classes. The Amasty module uses the type Amasty\Shopby\Model\Layer\FilterList that extends Layer\FilterList as ElasticSuit FilerList does. The Amasty module is receiving Smile\ElasticsuiteCatalog\Model\Layer\FilterList but it is expecting Amasty\Shopby\Model\Layer\FilterList.

Do you have any idea how to fix this issue ? I already oppened a support ticket on module producer to verify.

Preconditions


Magento Version : 2.2.0


ElasticSuite Version : 2.3.1


Environment : Developer Mode


Third party modules : Amasty Improved Layered Navigation Community 2.2.0

Steps to reproduce

2017/10/04 21:13:23 [error] 19613#0: *1354 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: Argument 6 passed to Amasty\Shopby\Helper\Data::__construct() must be an instance of Amasty\Shopby\Model\Layer\FilterList, instance of Smile\ElasticsuiteCatalog\Model\Layer\FilterList given, called in /var/www/agvalue/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /var/www/agvalue/app/code/Amasty/Shopby/Helper/Data.php:52

Stack trace:

0 /var/www/agvalue/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(111): Amasty\Shopby\Helper\Data->__construct(Object(Magento\Framework\App\Helper\Context), Object(Amasty\Shopby\Helper\FilterSetting), Object(Magento\Catalog\Model\Layer\Resolver), Object(Magento\Store\Model\StoreManager), Object(Amasty\Shopby\Model\Request), Object(Smile\ElasticsuiteCatalog\Model\Layer\FilterList), Object(Magento\Framework\Registry))

1 /var/www/agvalue/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->c" while reading response header from upstream, client: 10.0.0.117, server: dev2.canalagricola.com.br, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "dev2.canalagricola.com.br"

Expected result

  1. The Amasty module receives Amasty\Shopby\Model\Layer\FilterList not Smile\ElasticsuiteCatalog\Model\Layer\FilterList

Actual result

  1. The Amasty module is receiving Smile\ElasticsuiteCatalog\Model\Layer\FilterList not Amasty\Shopby\Model\Layer\FilterList

Most helpful comment

@aandrade1234 Did you find any other workaround for this issue...?

All 9 comments

Hello @aandrade1234

First, if you are using Magento 2.2, you have to use elasticsuite >=2.3.8.

So please upgrade to the latest 2.3.8 version.

About compatibility with Amasty module, I'm afraid that we cannot provide support for third-party modules integration with Elasticsuite, especially modules which are also extending/overriding layer related objects.

You may try to override the Elasticsuite "FilterList" and make it extends the Amasty one, it could work, but since I do not have access to the sources of this module I cannot be sure this is the proper way to do, and I cannot guarantee there won't be any additional tasks to perform in order to have the both modules working properly.

Regards,

Hi @romainruaud thanks for your quick return. I tried to extend the Smile FilterList using the Amasty FilterList. It worked for this method. But I started to get other errors. The Amasty support answered me that the extensions are very incompatible and there will be very hard to make both work together.

That does not surprise me, since we are both working on similar parts of Magento (Layer, filters, and so on...).

I agree that it would be complicated to merge perfectly the both modules.

Best regards, I close the issue since it's related to a third party module.

@aandrade1234 Did you find any other workaround for this issue...?

I'm very interested in any other workaround for this issue too.

We get this (I guess) issue now too, since we use both of these extensions. This situation is not very great.

Has anyone come up with a good workaround for this issue?

Think would have to take it up with Amasty support and pay them to develop it further with Elastic Suite support but looks like they have a preference for you to purchase their own Elastic Search plugin.

https://amasty.com/knowledge-base/navigation-with-wyomind-elasticsearch-compatibility.html

https://amasty.com/elasticsearch-for-magento-2.html

We are having the same issue. I've created a support ticket at Amasty to see if an solution can be made/found for this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tschirmer picture tschirmer  路  4Comments

shamoon picture shamoon  路  3Comments

DanieliMi picture DanieliMi  路  5Comments

gihovani picture gihovani  路  4Comments

susonwaiba picture susonwaiba  路  3Comments