Smile-SA / elasticsuite

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

Rest Api Categories / Categories Merchandising - Bug? #1977

Closed ViniciusNaoDivulgue closed 2 years ago

ViniciusNaoDivulgue commented 3 years ago

Hello friends,

We believe we have found a Bug. I will describe the scenario, see if you can direct us.

We have a Magento v2.4 running with ElasticSuite.

We do all product registrations via Rest API. From this moment on we would like to order the position of the products in the category also by API. This is where the possible bug happens, position changes are made via API, they are saved but have no effect.

Preconditions

Steps to reproduce

REST API / Categories

[PUT] rest / default / V1 / categories / {category_id} / products

{ "productLink": { "sku": "123456", "position": 3, <- Here I define the position "category_id": "99", "extension_attributes": {} } }

Is there any configuration to disable Categories Merchandising / Drag and Drop? With this action we want to order the position of our products via API, as without the module installed. (Expected result) We believe that it does not consider the position field updated by the API. All others funcionabilitys are very appreciate =]

Actual result

Just updating position on backend: Catalog >> Categories >> Products on Category >> Products List Preview and Sorting

Today: 1

Without this feature works by API: 2

Really Thanks Team! Here we appreciate your job =]

rbayet commented 3 years ago

Hello @ViniciusNaoDivulgue,

Alas, this is not a bug, it's a feature ;)

Elasticsuite does not take into account the native product positions in categories stored in catalog_category_product but those in the dedicated table smile_virtualcategory_catalog_category_product_position where the "blacklisting" is also stored. It is explained fully on this comment.

As explained in another issue, you could :

Regards,

romainruaud commented 3 years ago

We should implement the third solution into the virtual-category module, but to be honest, that's a low-priority for us actually.

I add it into next features roadmap anyway.

romainruaud commented 3 years ago

@vahonc can you try to override the legacy Magento API so that when someone is contributing a position, it goes to the proper table ?

As explained it should go into smile_virtualcategory_catalog_category_product_position and not into catalog_category_product