1
Magento 2.4.2-p1
Smartwave Porto theme
Amasty extensions
ShopperApproved app/software

ShopperApproved installed their software into my Magento 2 back on December 5th. Everything seemed to work until yesterday morning, when I ran these commands:

php bin/magento setup:di:compile  
php bin/magento setup:static-content:deploy -f 
php bin/magento cache:clean 
php bin/magento cache:flush 
php bin/magento indexer:reindex

Now, everytime you click on any of the categories, the following Error appears:

1 exception(s):
Exception #0 (Magento\Framework\Exception\LocalizedException): Sorry, something went wrong. You can find out more in the error log.

Exception #0 (Magento\Framework\Exception\LocalizedException): Sorry, something went wrong. You can find out more in the error log.
<pre>#1 Magento\Framework\Data\Collection\AbstractDb->_renderFilters() called at [app/code/Mageplaza/LayeredNavigation/Model/ResourceModel/Fulltext/Collection.php:565]
#2 Mageplaza\LayeredNavigation\Model\ResourceModel\Fulltext\Collection->_renderFilters() called at [app/code/Mageplaza/LayeredNavigation/Model/ResourceModel/Fulltext/Collection.php:659]
#3 Mageplaza\LayeredNavigation\Model\ResourceModel\Fulltext\Collection->getFacetedData() called at [generated/code/Mageplaza/LayeredNavigation/Model/ResourceModel/Fulltext/Collection/Interceptor.php:167]
#4 Mageplaza\LayeredNavigation\Model\ResourceModel\Fulltext\Collection\Interceptor->getFacetedData() called at [app/code/Mageplaza/LayeredNavigation/Model/Layer/Filter/Category.php:230]
#5 Mageplaza\LayeredNavigation\Model\Layer\Filter\Category->_getItemsData() called at [vendor/magento/module-catalog/Model/Layer/Filter/AbstractFilter.php:202]
#6 Magento\Catalog\Model\Layer\Filter\AbstractFilter->_initItems() called at [app/code/Mageplaza/LayeredNavigation/Model/Layer/Filter/Category.php:209]
#7 Mageplaza\LayeredNavigation\Model\Layer\Filter\Category->_initItems() called at [vendor/magento/module-catalog/Model/Layer/Filter/AbstractFilter.php:159]
#8 Magento\Catalog\Model\Layer\Filter\AbstractFilter->getItems() called at [vendor/magento/module-catalog/Model/Layer/Filter/AbstractFilter.php:148]
#9 Magento\Catalog\Model\Layer\Filter\AbstractFilter->getItemsCount() called at [vendor/magento/module-catalog/Model/Layer/Category/AvailabilityFlag.php:33]
#10 Magento\Catalog\Model\Layer\Category\AvailabilityFlag->canShowOptions() called at [vendor/magento/module-catalog/Model/Layer/Category/AvailabilityFlag.php:23]
#11 Magento\Catalog\Model\Layer\Category\AvailabilityFlag->isEnabled() called at [vendor/magento/module-layered-navigation/Block/Navigation.php:126]
#12 Magento\LayeredNavigation\Block\Navigation->canShowBlock() called at [app/code/Mageplaza/LayeredNavigation/view/frontend/templates/layer/view.phtml:22]
#13 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#14 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:64]
#15 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#16 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:168]
#17 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#18 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:273]
#19 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:303]
#20 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1111]
#21 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1115]
#22 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:675]
#23 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#24 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#25 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#26 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#27 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#28 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Element/AbstractBlock.php:526]
#29 Magento\Framework\View\Element\AbstractBlock->getChildHtml() called at [app/code/Mageplaza/AjaxLayer/view/frontend/templates/layer.phtml:24]
#30 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:71]
#31 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:64]
#32 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#33 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:168]
#34 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#35 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:273]
#36 Magento\Framework\View\Element\Template->fetchView() called at [vendor/magento/framework/View/Element/Template.php:303]
#37 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1111]
#38 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1115]
#39 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:675]
#40 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#41 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#42 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#43 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#44 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#45 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#46 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#47 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#48 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#49 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#50 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#51 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#52 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#53 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#54 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#55 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#56 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#57 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#58 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#59 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#60 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#61 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#62 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#63 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#64 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#65 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#66 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#67 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#68 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#69 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#70 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#71 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#72 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#73 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#74 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#75 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:975]
#76 Magento\Framework\View\Layout->getOutput() called at [vendor/magento/framework/Interception/Interceptor.php:64]
#77 Magento\Framework\View\Layout\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#78 Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:168]
#79 Magento\Framework\View\Layout\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:347]
#80 Magento\Framework\View\Layout\Interceptor->getOutput() called at [vendor/magento/framework/View/Result/Page.php:258]
#81 Magento\Framework\View\Result\Page->render() called at [vendor/magento/framework/View/Result/Layout.php:171]
#82 Magento\Framework\View\Result\Layout->renderResult() called at [vendor/magento/framework/Interception/Interceptor.php:64]
#83 Magento\Framework\View\Result\Page\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#84 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:168]
#85 Magento\Framework\View\Result\Page\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Result/Page/Interceptor.php:95]
#86 Magento\Framework\View\Result\Page\Interceptor->renderResult() called at [vendor/magento/framework/App/Http.php:120]
#87 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#88 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:263]
#89 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:29]
</pre>

According to my hosting company (who swear they didn't change anything) - this indicates some kind of a conflict with my Smartwave Porto theme? I tried changing the theme to both Magento Luma and Magento Blank, but this does not resolve the problem.

My hosting company provided me with this Error they found in the logs:

[2023-12-11 20:16:43] main.INFO: Broken reference: the 'catalog.compare.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'sale.reorder.sidebar' element cannot be added as child to 'sidebar.additional', becausethe latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'wishlist_sidebar' element cannot be added as child to 'sidebar.additional', because thelatter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'yotpo_bottomline' element cannot be added as child to 'product.info.main', because the latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'sw.sidenav' element cannot be added as child to 'sidebar.main', because the latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'sidebar_second_block' element cannot be added as child to 'sidebar.second', because thelatter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'paypal.partner.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'bml.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'category_view_custom_block' element cannot be added as child to 'sidebar.main', becausethe latter doesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'catalog.leftnav' element cannot be added as child to 'sidebar.main', because the latterdoesn't exist [] []
[2023-12-11 20:16:43] main.INFO: Broken reference: the 'category_leftnav' element cannot be added as child to 'sidebar.main', because the latter doesn't exist [] []

I've asked ShopperApproved to fix this and they said they would look into it but it's been 24 hours and no response as of yet. Is there anything I can do to make the categories work again? Restoring from a backup may no longer be a viable option as it's been more than a week since they have actually done the work.

I've just tried to update a random category AFTER setting a category Anchor to YES and SAVE, and I get the following Error:

Argument 1 passed to Magento\Catalog\Model\Category\FileInfo::removeStorePath() must be of the type string, array given, called in /home/MYSTORE/public_html/vendor/magento/module-catalog/Model/Category/FileInfo.php on line 167
Exception in /home/MYSTORE/public_html/vendor/magento/module-catalog/Model/Category/FileInfo.php:208

UPDATED on December 12th, 2023:

ShopperApproved came back with the following:

My developer looked this over, and found the cause of the errors. Looks like it’s a Mageplaza plugin/extension issue particularly on Layered Navigation / Search Feature. This was not related to our code and we can't address it for you, but that appears to be the cause. Let me know if you have any other questions and we'd be happy to look again.

I have these 2 extentions from Mageplaza:

- Mageplaza Layered Navigation
- Mageplaza Search

We used to have the One-step checkout by Amazon but that is currently disabled. What are these extensions for? Do I need them or can I just uninstall them?

1 Answer 1

2

It appears that there is a conflict between the Mageplaza Layered Navigation extension and another extension on your site.

Mageplaza Layered Navigation and Mageplaza Search extensions are bundled in the Porto theme. However, the Porto theme doesn't require these extensions to function. Therefore, if you wish to remove them, you can safely do so.

If you decide to remove the Mageplaza Layered Navigation extension, make sure to also remove the Mageplaza Ajax Layer (Mageplaza_AjaxLayer) extension if it is installed on your site.

5
  • Thank you so much for this Tu Van. How can I best remove all those Mageplaza extensions and would that resolve the issue you think?
    – Allysin
    Dec 12, 2023 at 21:47
  • It’s recommended to remove an extension in a development site before do it on the production site. Since these extensions are located within the app/code directory, remove the extension directories and run bin/magento setup:upgrade and recompile code.
    – Tu Van
    Dec 12, 2023 at 23:46
  • However, if you remove them directly on the production site, backup the source code and database and enable maintenance mode; then remove these extensions. After removed the extensions successfully, disable the maintenance mode. Additionally, since you do this in the production mode, you’ll need to deploy static content after running bin/magento setup:upgrade
    – Tu Van
    Dec 12, 2023 at 23:51
  • Would you have 30 minutes to look at this please? I think I could get my coworker to pay you for you time.
    – Allysin
    Dec 13, 2023 at 16:23
  • Yep, I'm available. Please contact me via email.
    – Tu Van
    Dec 13, 2023 at 16:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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