Magento カスタム モジュール開発は、どの段階でも独自の機能/モジュールを既存の Magento プロジェクトに統合する必要があるため、Magento 開発または Magento プロジェクトの中核部分です。
このシリーズでは、Magento のカスタム モジュール開発の詳細について説明します。
Magento をさらに開発したい場合は、Envato Market でさまざまな便利な Magento 拡張機能をチェックしてください。
このシリーズでは、カスタム バージョンではありますが、Magento Community Edition 1.7 について言及しています。 モジュール構造は Magento のすべてのバージョンで同じです。実際のモジュール開発を始める前に、Magento の基本構造を簡単に理解しましょう。
新しい Magento をインストールすると、次の Magento ディレクトリ構造に気づくでしょう:
Joomla、CakePHP、CodeIgniter などの他の主要なフレームワークと同様に、Magento も MVC ベースのアーキテクチャに従いますが、コアの PHP MVC アーキテクチャとは若干異なります。ここでは単純な PHP MVC アーキテクチャと比較しながら、Magento アーキテクチャの違いを説明します。
典型的な MVC パターンでは、アプリケーションのフローは次のようになります:
index.php
)。そこからアプリケーション ルーティング メカニズム全体が決定されます。Magento の MVC アーキテクチャは MVC パターンにいくつかのレイヤーを追加しますが、アプリケーションの基本的な制御フローは次のとおりです:
index.php
)。そこからアプリケーション全体が初期化されます。これには追加のレイヤーがいくつか含まれているため、最初は理解するのが難しいかもしれません。制御フローをさらに理解するために、カスタムの「Hello World」モジュールを開発してみましょう。
Magento には、Magento のすべてのカスタム モジュールとコア モジュールが存在する 3 種類のコード プールが含まれています。
したがって、プールにはコミュニティ プールとローカル プールの 2 つのオプションがあります。独自のプロジェクトを開発しているため、コミュニティ プールの使用に制限はありませんが、ローカル プールを使用します。
###構造###Magento モジュールは次のコンポーネントで構成されます:
__の 2 つの部分で構成されます。 Magento モジュールに名前を付けるベスト プラクティスは、作者名または会社名として
これらの命名規則に基づいて、モジュールに Chiragdodia_Mymodule という名前を付けました。このシリーズではこの名前を参照します。 上記の構造に基づいてディレクトリを作成しましょう。 Magento のインストール ディレクトリに移動し、を選択し、実際のモジュール名として
を選択することです。
コードのセットアップと構成
app/code/local
に移動して、以下に示すようにディレクトリを作成します。
次に、設定ファイルChiragdodia_Mymodule.xml を
app/etc/modulesdirectory## に作成します。 # モジュールを設定してアクティブ化します。
このディレクトリには、すべてのモジュールの構成ファイルが含まれています。リーリー
activeタグで
trueを指定してモジュールを有効にします。これまでのところすべてが正しい場合は、
Magento 管理パネル > システム > 構成 > 詳細 > 詳細 > モジュール出力の無効化リストにモジュールが表示されます。ここからモジュールを有効または無効にすることができます。
app/code/local/Chiragdodia/Mymodule/etcに移動し、config.xml
# を作成します。 ## ファイルには次の内容が含まれます リーリー各タグを 1 行ずつ見てみましょう。ここで、最初のタグは
で、モジュールの名前とバージョンが含まれています。バージョン番号は、モジュールを更新するときに非常に重要です。
タグは、スケジュールされたコントローラーに関する情報を Magento に伝えます。
タグ内で、ルーティング メカニズムを通じてコントローラーにアクセスする方法を Magento に指示する
を定義します。
タグでは、
# タグ内にあります。 # にはフロントエンド名が含まれます。フロントエンド名を使用して、フロントエンド上のモジュールにアクセスできます (例:yoursitename.com/index.php/mymodule/index
yoursitename.com/index.php/mymodule
または
を呼び出すことで、Magento はモジュール コントローラーのインデックス アクション ファイルを検索します。 。したがって、コントローラー ファイルを作成する必要があります。app/code/local/Chiragdodia/Mymodule/controllers
に移動し、ファイルIndexController.php
を作成します。
以下の内容が含まれます。Magento では、各ファイル名とクラス名は大文字と小文字が区別されることに注意してください。ファイルやクラスを作成するときは、名前の付け方に注意することが重要です。リーリー次に、URL
を開きます。「Hello tuts World」と出力されます。
素晴らしい - 最初の hello world モジュールがついに完成しました。コントローラーのスケジューリングここでは、クラス
を拡張します。このクラスには、URL ルーティングで使用されるすべてのメソッドが含まれています。 Magento のクラス名は、クラス ファイルの場所を反映しています。したがって、クラスMage_Core_Controller_Front_Action
は、場所Mage > Core > Controller > Front > Action.php
にあります。コントローラーのクラス名 (Chiragdodia_Mymodule_IndexController) を確認してください。 Magento コントローラーは、
タグ)_(アクション コントローラー名)(キーワード コントローラー).を反映する方法で名前を付ける必要があります。
操作コントローラ名 b> = インデックス
Controller
キーワードこのパターンによると、コントローラーの名前は
Chiragdodia_Mymodule_IndexControllerルーティング パターンに従う URL パターンを表示します
根据此网址模式,我们模块的网址为yoursite.com/index.php/mymodule/index/index
。您还可以使用yoursite.com/index.php/mymodule
访问它,因为只要您未指定actionController
或actionmethod
名称,Magento 就会加载默认情况下的索引控制器和索引操作。
现在让我们再创建一个操作:testAction
。
ログイン後にコピー
我们可以使用 URLyoursite.com/index.php/mymodule/index/test
访问 testAction。如前所述
这就是控制器在 Magento 中的工作原理。
一开始,一次理解所有内容可能很困难,因此我已将所有源代码包含到此模块中,以便您可以在将其用作指南的同时查看它并实现自己的工作。
在下一部分中,我们将通过创建布局和块文件来填充模块中的一些布局。我们将了解布局文件在 Magento 中如何工作以及块在 Magento 上下文中扮演什么角色。
在此之前,请创建您自己的模块,并让我知道任何给您带来麻烦的事情。
以上がMagento 用のカスタム モジュールを開発するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。