Step 1
Step 2
Removing disabled modules:
- Removing the disabled
Codazon_AjaxLayeredNav
module - Removing the disabled
Seavus_Klarna
module - Removing the disabled
Magecom_AlternativeShipping
module
Step 3
I have moved the Mageplaza’s modules from app/code
to vendor
and upgraded them
Step 4
bin/magento maintenance:enable
Step 5
DELETE FROM wishlist WHERE 0 = customer_id;
Step 6
rm -rf app/code/Mageplaza/Core
rm -rf app/code/Mageplaza/Smtp
These modules will be installed via Composer.
Step 7
I replaced the the root’s composer.json
file with the file from Magento 2.3.4.
Then I declared already installed third-party packages in the require
section of the file:
"require": {
"klarna/checkout": "^4.0",
"magento/product-community-edition": "2.3.4",
"mageplaza/module-core": "1.4.1",
"mageplaza/module-smtp": "*",
"mirasvit/module-search-elastic-ultimate": "*"
}
Step 8
rm -rf composer.lock
composer update
Step 9
redis-cli flushall
It solves the issue: «Unable to unserialize value. Error: Syntax error».
magento.stackexchange.com/a/196825
Step 10
- «Duplicate key name ‘
MAGEPLAZA_BRAND_OPTION_ID_STORE_ID
’» - «Duplicate key name ‘MAGEPLAZA_SHOPBYBRAND_CATEGORY_URL_KEY’»
- «Can’t write; duplicate key in table» on
ALTER TABLE mageplaza_shopbybrand_brand_category
Step 11
bin/magento setup:upgrade
bin/magento cache:enable
Step 12
I disabled the preinstalled Magento’s crapware.
Step 13
- «Declaration of
Codazon\ProductFilter\Block\ImageBuilder::create()
should be compatible withMagento\Catalog\Block\Product\ImageBuilder::create()
» - «Declaration of
Seavus\Categories\Index\Magento\Catalog\Product::mapProduct()
should be compatible withMirasvit\SearchAutocomplete\Index\Magento\Catalog\Product::mapProduct()
» - «Declaration of
Seavus\Categories\Model\ResourceModel\Product\Collection::_getSelectCountSql($select = NULL, $resetLeftJoins = true)
should be compatible withMagento\Catalog\Model\ResourceModel\Product\Collection::_getSelectCountSql(?Magento\Framework\DB\Select $select = NULL, $resetLeftJoins = true)
» Codazon_ProductLabel
: «ClassMagento\Email\Model\Source\Variables
does not exist»- «
Mageplaza\SeoUrl\App\Request\PathInfoProcessor
: Incompatible argument type: Required type: \Magento\Store\App\Request\StorePathInfoValidator. Actual type: \Magento\Store\Model\StoreManagerInterface» - The «Mgt-Commerce.com» logo is missing in the Magento 2.3.4 backend
- «Declaration of
Mageplaza\SeoUrl\App\Request\PathInfoProcessor::process()
must be compatible withMagento\Store\App\Request\PathInfoProcessor::process()
» - «"
continue
" targeting switch is equivalent to “break
”. Did you mean to use “continue 2”?» inapp/code/Codazon/ThemeOptions/Setup/Model/Widget.php
on line 291 - «
count()
: Parameter must be an array or an object that implementsCountable
inapp/code/Codazon/MegaMenu/Block/Widget/Megamenu.php
on line 55»
Step 14
I removed an empty Less file:
rm -f app/code/Magefan/Blog/view/frontend/web/css/blog-l.css
It fixed the error: «Compilation from source: LESS file is empty: frontend/Magento/blank/en_US/Magefan_Blog/css/blog-l.less».
Step 15
I disabled spam from Mageplaza:
bin/magento config:set mageplaza/general/notice_enable 0
bin/magento cache:clean
Step 16
rm -rf generated/*
bin/magento setup:di:compile
Step 17
rm -rf pub/static/*
bin/magento setup:static-content:deploy \
--area adminhtml \
--theme Magento/backend \
-f en_US sv_SE fi_FI
bin/magento setup:static-content:deploy \
--area frontend \
--theme Codazon/fastest_seavus \
-f en_US sv_SE fi_FI
Step 18
bin/magento maintenance:disable
Step 19
bin/magento config:set catalog/search/min_query_length 1
bin/magento cache:clean
It fixed the error with Mageplaza_LayeredNavigation
: «Sorry, something went wrong. You can find out more in the error log.» / «The request query and filters aren’t set. Verify the query and filters and try again.».
Step 20
I have adjusted the etc/view.xml
file of the used design theme to fix product images appearance:
<image id='category_page_grid_hover' type='thumbnail'>
<width>300</width>
<height>300</height>
<aspect_ratio>true</aspect_ratio>
<frame>true</frame>
</image>