如何解決 Magento 2 中最常見的問題

已發表: 2022-01-02

Magento 的新版本即 Magento 2 帶來了新的困難。 當您計劃將舊的 Magento 版本升級到新版本時,您可能會遇到其中一些問題。 在當前的博客文章中,我們將討論 Magento 2 版本中的常見問題及其對 Magento 商店所有者、Magento 開發人員和Magento 開發公司有幫助的解決方案。

Magento 2 中的常見問題及其解決方案

當您探索 Magento 2 平台時,經驗豐富的 Magento 開發人員或任何其他人都可能面臨最常見的問題。 您可能面臨的問題可能是不可否認的小麻煩,但如果您不盡快解決這些問題,它們可能會成為您的更大問題。

因此,讓我們了解 Magento 2 中最常見的問題及其解決方案:

在 Magento 2 安裝後安裝示例數據

一、下載

示例數據: sudo php bin/ magento示例數據:部署

然後安裝,

示例數據: sudo php bin/ magento setup:upgrade

或者

sudo /opt/ lampp /bin/ php bin/ magento 樣本數據:部署

sudo /opt/ lampp /bin/ php bin/ magento setup:upgrade

在 Magento 2 安裝後安裝示例數據

清除主題/CSS 緩存

要清除主題或 CSS 的緩存,請運行以下命令:

須藤 php bin/ magento緩存:刷新

須藤php bin/ magento緩存:乾淨

或者

sudo /opt/ lampp /bin/ php bin/ magento緩存:flush

sudo /opt/ lampp /bin/ php bin/ magento緩存:clean

清除主題/CSS 緩存

重新索引

在 Magento 2 中,一個或多個索引器無效。 因此,您需要確保您的 Magento Cron 作業正在運行。

要重新索引您的商店,請在您的 CLI 中運行命令php bin\magento indexer:reindex。

如果您只想重新索引一個索引器,則編寫命令 php bin\magento indexer:reindex indexer_name其中可以通過鍵入命令 php bin\magento indexer:info 找到indexer_name

[已解決] 如何解決 Magento 2 中最常見的問題 - 重新索引

從佈局中刪除塊

在 Magento 2 的更新版本中,remove 方法是

<referenceBlock name="block_name" remove="true"/>

例如:

 <?xml version="1.0"?> <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="block_name" remove="true"/> </body> </page>

設置開發者模式

可以從CLI bin/ magento deploy:mode:set developer設置開發人員模式

獲取 Magento 2 基本 URL

如果您想獲取 Base URL ,那麼您可以嘗試以下代碼:

$this->_storeManager->getStore()->getBaseUrl()

另外,使用:

$this->_objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore($storeId)
->getBaseUrl();

獲取媒體庫 URL:

$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);

檢查模塊安裝

要檢查啟用或禁用的模塊列表,請使用以下命令。

magento 模塊:啟用 [-c|–clear-static-content] [-f|–force] [–all]

magento 模塊:禁用 [-c|–clear-static-content] [-f|–force] [–all]

使用 jQuery 庫

如果要添加 jQuery 之外的自定義 js 庫,則需要在 require 函數中包含 js 代碼,例如

要求(['jquery','jquery/ui'],函數($){
//你的js代碼在這裡
});

設置後端會話超時

您可以通過以下方式從管理面板設置後端會話超時

Stores->Settings->Configuration->Advanced->Admin->Security->Admin Session Lifetime (seconds)

腳本和 CSS 的 404 錯誤

當不在生產模式時,Magento 2 會嘗試為一些靜態資源創建符號鏈接。 您可以通過執行以下操作來更改該行為。

  • 打開app/etc/di.xml ,找到virtualType name=”developerMaterialization”。 在該部分中,您將找到需要修改或刪除的項目名稱 =”view_preprocessed” 。 您可以通過將內容從Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink更改為Magento\Framework\App\View\Asset\MaterializationStrategy\Copy 來修改它
  • 刪除pub/static下的文件以擺脫任何現有的符號鏈接。 您可能要小心不要刪除.htaccess

Magento 2 中的常見 SEO 問題

在分析新的 Magento 2 平台時,我們遇到了最常見的SEO錯誤。 當他們的 SEO 設置完美時,基於 Magento 2 的網站可以取得成功。 在最新版本的 Magento 中,您可以找到在 SEO 中所做的關鍵改進。 最常見的 SEO 錯誤及其解決方案是

為網站的 HTTP 和 HTTPS 版本編制索引

當您為網站的 HTTP 和 https 版本編制索引時,它會將其中一個版本視為重複內容。

為避免此錯誤,您應該索引首選版本,並且同一 URL 的另一個版本應該指向帶有 rel canonical 的 https 版本。 例如,https 是您網站的首選版本,那麼在 HTML 編碼中,HTTP 版本應該具有指向 https 的 rel 規範,反之亦然。

文本阻塞分層導航參數

通常,就 SEO 而言,分層導航對您的網站一點好處都沒有。 您應該始終避免在“原始”狀態下索引過濾器、排序和分層導航。 此外,您可以使用分層導航擴展程序,將過濾和排序的頁面轉換為適當優化的登錄頁面。

常見的擴展問題和解決方案

當您使用 Magento 2 版本的任何擴展時,請檢查以下問題和修復:

與 Magento 版本的兼容性

在您下載我們的任何 Magento 2 擴展之前,請檢查它是否與您當前使用的 Magento 版本兼容。 例如,許多為 M 2.1 所做的擴展可能不適用於 2.0。

安裝步驟

遵循安裝指南中提供的所有步驟

最新版本的 Magento 2 擴展

如果您想使用任何擴展,請下載該擴展的最新版本以獲得更好的功能。

清除靜態緩存

安裝擴展程序後,請不要忘記在商店中實際使用擴展程序之前清除靜態緩存。 您可以通過以下方式執行此操作:系統 > 緩存管理 > 刷新靜態文件緩存。

靜態內容緩存

對設置或擴展進行任何更改後,請確保清除靜態內容緩存。 這將確保前端正在處理新設置而不是舊 CSS 文件。

管理會話問題

要解決管理會話問題,請嘗試註銷然後再次登錄到您的管理面板。

功能

在您的商店下載、安裝和應用擴展之前,請仔細檢查功能,因為它可能與商店現有擴展的功能發生衝突。

安裝問題及解決方法

複製擴展的正確位置

應將擴展名複製到正確的文件夾才能正常工作。 例如,MConnect Media 的擴展名將位於: app/code/Mconnect/MODULE_NAME

系統要求

在運行 Magento 2 之前,請確保您滿足所有系統要求。

Magento 2 問題調查的常用程序

  • 檢查 ./var/log 目錄或您的 Magento 2 安裝 - 在日誌中查找任何錯誤或異常,尤其是在 log 和 system.log 中
  • 如果您在打開頁面時收到“處理您的請求時出錯”消息,請從該消息中獲取報告 ID 並檢查 ./var/report 目錄:將會有一個同名文件。
  • 可能存在文件權限問題:檢查 Magento 2 存儲目錄中文件的所有者及其權限。 使用 chown(更改所有者)和 chmod(更改模式)UNIX 命令來相應地更新它們。
  • 檢查 Web 服務器日誌。 Fe,對於 Apache,它是 /var/log/apache2 或 /var/log/httpd,文件夾取決於您的系統。
  • 清除 Magento 2 緩存文件(如果啟用了緩存),有時它會有所幫助:

./var/緩存
./var/page_cache
./var/代

  • 將商店切換到開發者模式:打開 Magento 根目錄下的 .htaccess 文件並啟用 SetEnv MAGE_MODE “developer”或使用 CLI 命令:php bin/magento deploy:mode:set developer
  • 在這種模式下可以顯示更多的技術信息(錯誤)。
  • 在 ini 文件中啟用 PHP 錯誤報告:

ini_set('display_startup_errors',1);
ini_set('display_errors',1);
錯誤報告(-1);

前端問題

  • 檢查瀏覽器控制台是否有錯誤(在 Chrome 中:開發人員工具/控制台)。
  • 啟用 Magento 2 模板頁面提示:在管理面板中,打開以下部分:Stores / Settings / Configuration / Advanced / Developer / Debug / 'Enabled Template Path Hints for Storefront'

仍然有任何疑問? 聯繫我們的 Magento 開發人員以獲得進一步的幫助。