2

There's an issue we're struggling with the products EAV. Here's an explanation:

  1. There's a shop with attributes and attribute sets created from them.
  2. A product is assigned an attribute set, and a value is given for a particular attribute from the set.
  3. Then, it turns out that the attribute set was wrong for the product, so it's assigned to a different attribute set.

Here's where the problem happens - Once you change the attribute set, the attributes from the old attribute sets which have a value previously assigned for the products, stay.

And if the attribute is filterable, it appears on the filters of the category, which is the main reason I'm writing this.

What's the best way to handle removing attribute values from old attribute sets/ attribute sets that were wrongly assigned? Should they be manually deleted from the db?

We tried reindexing, but it didn't work.

0

I am experiencing the same issue, not only with Layered Navigation but also on custom calls like:

// Gets old attributes, not in current attribute set.
$product->getResource()->getAttribute($attributeCode);

This article from 2014 is of course outdated. However, it shows the issue along with a script for the necessary cleanup.

This module, EAV Cleaner, seems exactly suited for this (among other things).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.