Magento2で最も一般的な問題を修正する方法

公開: 2022-01-02

Magentoの新しいバージョン、つまりMagento2には新たな問題があります。 古いMagentoバージョンを新しいバージョンアップグレードすることを計画している場合、これらの問題のいくつかに直面する可能性があります。 現在のブログ投稿では、Magento 2バージョンの一般的な問題と、Magentoストアの所有者、Magento開発者、およびMagento開発会社に役立つソリューションについて説明します。

Magento2とそのソリューションの一般的な問題

経験豊富なMagento開発者やその他の人は、Magento2プラットフォームを探索するときに最も一般的な問題に直面する可能性があります。 あなたが直面するかもしれない問題は否定できない小さな問題かもしれませんが、あなたがこれらをすぐに解決しようとしないならば、それらはあなたにとってより大きな問題になる可能性があります。

それでは、Magento2で直面する最も一般的な問題とその解決策を理解しましょう。

Magento2セットアップ後のサンプルデータのインストール

まず、ダウンロード

サンプルデータ: sudo php bin / magento sampledata:deploy

そしてインストールし、

サンプルデータ: sudo php bin / magento setup:upgrade

また

sudo / opt / lampp / bin / php bin / magento sampledata :deploy

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

Magento2セットアップ後のサンプルデータのインストール

テーマ/ CSSキャッシュをクリアする

テーマまたはCSSのキャッシュをクリアするには、次のコマンドを実行します。

sudo php bin / magento cache:flush

sudo php bin / magento cache:clean

また

sudo / opt / lampp / bin / php bin / magento cache:flush

sudo / opt / lampp / bin / php bin / magento cache:clean

テーマ/ CSSキャッシュをクリアする

インデックスの再作成

Magento 2では、1つ以上のインデクサーが無効です。 したがって、MagentoCronジョブが実行されていることを確認する必要があります。

ストアのインデックスを再作成するには、CLIでコマンドphp bin \ magento indexer:reindexを実行します。

情報:REINDEX indexer_name indexer_nameがタイピングコマンドPHPビン\ Magentoのインデクサによって見つけることができる場所:あなたが唯一のインデクサーのインデックスを再作成したい場合は、\ MagentoのインデクサコマンドPHPのビンを書きます

[解決済み] Magento2で最も一般的な問題を修正する方法-インデックスの再作成

レイアウトからブロックを削除する

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ビン/ Magentoの展開から設定することができます:モード:セットの開発

Magento2のベースURLを取得する

ベース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 module:enable [-c | –clear-static-content] [-f | –force] [–all]

magentoモジュール:無効[-c | –clear-static-content] [-f | –force] [–all]

jQueryライブラリの使用

jQuery以外のカスタムjsライブラリを追加する場合は、次のようなrequire関数内にjsコードを含める必要があります。

require(['jquery'、 'jquery / ui']、function($){
//ここにあなたのjsコード
});

バックエンドセッションタイムアウトの設定

管理パネルからバックエンドセッションのタイムアウトを設定できます。

[ストア]-> [設定]-> [構成]-> [詳細設定]-> [管理]-> [セキュリティ]-> [管理セッションの有効期間(秒)]

スクリプトとCSSの404エラー

本番モードでない場合、Magento2は一部の静的リソースのシンボリックリンクを作成しようとします。 次のようにして、その動作を変更できます。

  • 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を削除しないように注意することをお勧めします

Magento2の一般的なSEOの問題

新しいMagento2プラットフォームを分析しているときに、 SEOに関して最も一般的な間違いに遭遇しました。 Magento 2ベースのWebサイトは、SEOが完璧に設定されていれば成功する可能性があります。 Magentoの最新バージョンでは、SEOで行われた主な改善点を見つけることができます。 最も一般的なSEOの間違いとその解決策は

WebサイトのHTTPバージョンとHTTPSバージョンの両方のインデックス作成

WebサイトのHTTPバージョンとhttpsバージョンのインデックスを作成すると、バージョンの1つが重複コンテンツと見なされます。

この間違いを避けるために、優先バージョンのインデックスを作成し、同じURLの他のバージョンがrelcanonicalを使用してhttpsバージョンを指すようにする必要があります。 たとえば、httpsはWebサイトに推奨されるバージョンであり、HTMLコーディングでは、HTTPバージョンはhttpsを指すrelcanonicalを持っている必要があります。その逆も同様です。

階層化されたナビゲーションパラメータをブロックするテキスト

通常、階層化されたナビゲーションは、SEOの観点からWebサイトにはまったく適していません。 フィルタ、並べ替え、および階層化されたナビゲーションが「生の」状態でインデックス付けされることは常に避けてください。 また、フィルタリングおよびソートされたページを適切に最適化されたランディングページに変えることができる階層化されたナビゲーション拡張機能を使用できます。

一般的な拡張機能の問題と解決策

Magento 2バージョンの拡張機能を使用している場合は、次の問題と修正を確認してください。

Magentoバージョンとの互換性

Magento 2拡張機能をダウンロードする前に、現在使用しているMagentoバージョンと互換性があるかどうかを確認してください。 たとえば、M2.1用に作成された多くの拡張機能が2.0では機能しない場合があります。

インストール手順

インストールガイドラインに記載されているすべての手順に従ってください

Magento2拡張機能の最新バージョン

拡張機能のいずれかを使用する場合は、その拡張機能の最新リリースをダウンロードして、より優れた機能を利用してください。

静的キャッシュのクリア

拡張機能をインストールしたら、ストアで実際に拡張機能を使用する前に、静的キャッシュをクリアすることを忘れないでください。 これは、[システム]> [キャッシュ管理]> [静的ファイルキャッシュのフラッシュ]で実行できます。

静的コンテンツキャッシュ

設定または拡張機能に変更を加えた場合は、静的コンテンツキャッシュを必ずクリアしてください。 これにより、フロントエンドが古いCSSファイルではなく、新しい設定で機能していることが確認されます。

管理セッションの問題

管理セッションの問題を解決するには、ログアウトしてから、管理パネルに再度ログインしてみてください。

機能性

ストアに拡張機能をダウンロード、インストール、および適用する前に、ストアの既存の拡張機能の機能と衝突する可能性があるため、機能を注意深く確認してください。

インストールの問題と解決策

拡張機能をコピーする適切な場所

正しく機能するには、拡張機能を正しいフォルダにコピーする必要があります。 たとえば、MConnect Mediaの拡張機能は次のようになります: app / code / Mconnect / MODULE_NAME

システム要求

Magento 2を実行する前に、すべてのシステム要件があることを確認してください。

Magento2の問題調査のための一般的な手順

  • ./var/logディレクトリまたはMagento2のインストールを確認します—ログ、特にlogとsystem.logでエラーや例外を探します
  • ページを開くときに「リクエストの処理中にエラーが発生しました」というメッセージが表示された場合は、そのメッセージからレポートIDを取得し、。/ var / reportディレクトリを確認してください。同じ名前のファイルがあります。
  • ファイルのアクセス許可に問題がある可能性があります。Magento2ストアディレクトリ内のファイルの所有者とそのアクセス許可を確認してください。 chown(所有者の変更)およびchmod(モードの変更)UNIXコマンドを使用して、それに応じて更新します。
  • Webサーバーのログを確認してください。 Fe、Apacheの場合は/ var / log / apache2または/ var / log / httpdであり、フォルダーはシステムによって異なります。
  • Magento 2のキャッシュファイルをクリアします(キャッシュが有効になっている場合)。次の場合に役立ちます。

./var/cache
./var/page_cache
./var/generation

  • ストアを開発者モードに切り替えます。Magentoルートディレクトリで.htaccessファイルを開き、SetEnv MAGE_MODE「developer」を有効にするか、CLIコマンドを使用します:php bin / magento deploy:mode:setdeveloper
  • このモードでは、より多くの技術情報(エラー)を表示できます。
  • iniファイルでPHPエラーレポートを有効にします。

ini_set( 'display_startup_errors'、1);
ini_set( 'display_errors'、1);
error_reporting(-1);

フロントエンドの問題

  • ブラウザコンソールでエラーを確認します(Chromeの場合:開発者ツール/コンソール)。
  • Magento 2テンプレートページのヒントを有効にする:管理パネルで、次のセクションを開きます:ストア/設定/構成/詳細/開発者/デバッグ/ 'ストアフロントの有効なテンプレートパスヒント'

まだ質問がありますか? さらにサポートが必要な場合は、Magento開発者にお問い合わせください