-
Notifications
You must be signed in to change notification settings - Fork 340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clicking on show more button gives 0 items #3442
Comments
I can try to reproduce this issue, but not sure if I have any luck, cause it looks like this is something specific for your environment. As for start points for debugging, you can enable logging ES queries in: Have you checked errors in Magento logs and in the console of the Dev tools in your browser? BR, |
Hi @vahonc I know this won't be easy to troubleshoot however there doesn't seem to be any starting point where I can even begin to check at. I enabled debug mode
This is what was added in system.log after clicking show more. Exception log is clean Could you point me to how the \Smile\ElasticsuiteCatalog\Model\Attribute\LayeredNavAttributesProvider::$attributes property should be populated and when? By debugging after the controller is invoked, I ended up finding that it all happens because this property is empty. So If I can find where it should be populated perhaps we can nail the culprit. |
Moreover it occurs with all modules disabled and luma active so I don't think it's a conflict this time. |
@vahonc Any idea where to look next to get any hint of why it's returning empty? |
@vahonc is it possible to disable the search and show more button temporarily for all filters? |
If I understood you correctly, you need to change this setting: By default, for all filters display 10 visible options, if there are more than 10 than the "Show more" button is displayed. You can also edit this parameter of some attribute on the Product Attributes page: BR, |
I see, I'll check it out for now if we can live without the show more button. I'd hate to replace the whole suite just for this bug. I still haven't found a definitive reason of why the \Smile\ElasticsuiteCatalog\Model\Attribute\LayeredNavAttributesProvider::$attributes is never populated when the show more button is pressed. |
I'm not sure, but maybe the problem is in special characters (e.g. greek) or something like that. Could you test this issue in an environment with an English locale? BR, |
I've confirmed it's not the Greek characters, I've removed all Greek characters from the attribute in the backend, reindex and clear cache. The issue persists even on plain luma with all 3rd party modules disabled. Something else is at play and \Smile\ElasticsuiteCatalog\Model\Attribute\LayeredNavAttributesProvider::$attributes is never populated to verify that the attribute is a layered navigation attribute. |
How many attributes with multi-select type and search ability did you have? Do they all have unexpected behavior? Could you provide a URL of this store, maybe I can try to take a look on it? BR, |
@vahonc By searchable do you mean the If so I get 3 results. However for layered navigation with the This is what is set for the problematic attribute
|
I mean the search field above options of multi-select attributes, just like on your video. So as, I understand you have one problematic attribute with unexpected behavior. And this attribute has 16 options (values). Have you tried changing the BR, |
The multiselect attribute "material" in my case has approximately 120 Options inside it. Increasing the facet max size to let's say 150 makes the options appear without a searchbox. I tried to go that way as a workaround but unfortunately due to the sheer amount of possible options the list is unusable without the search box :( |
Similar to issue #2998 I'm also getting an empty array for the items.
After debugging I see in function
\Smile\ElasticsuiteCatalog\Model\Attribute\LayeredNavAttributesProvider::isLayeredNavAttribute
it returns always false. The problem comes from\Smile\ElasticsuiteCatalog\Model\Attribute\LayeredNavAttributesProvider::getList
function which checks the property$this->attributes
which is an empty array not yet populated.So I'm assuming there's some sort of initialization that's failing in my case.
If you could provide some insight as to how and when the
attributes
property is initialized with data, I could dig furtherI also don't see anything in di.xml that could have added values to the array or anything that's invoked before it's injected.
Preconditions
Magento Version :2.4.4
ElasticSuite Version : 2.10.23.2
Environment : Developer
Third party modules :
Steps to reproduce
Expected result
Actual result
firefox_tb1o1qNZyY.mp4
The text was updated successfully, but these errors were encountered: