ROUTE 3390

備忘録的な用途で書いていますが、どなたかの役に立つ事があれば嬉しいです。

モジュールについて

Magentoのモジュール
※この記事は私の中途半端な知識で書いています。
読む方は半信半疑でお願いします。誤った箇所を見つけたら是非教えてください。

Magentoには大きく3種類のモジュールがあります。

[Magentoディレクトリ]/app/code
  /core
  /community
  /local

core
Magentoのコアモジュールが格納されます。
このディレクトリ内のファイルはバージョンアップ時に更新されたりするので、カスタマイズする際は注意が必要です。


community
配布されているモジュールは基本的にはここにインストールされます。(MagentoConnectを介してエクステンション入れた時など)


local
自分で作るモジュールを配置する場所です。
coreにあるMagentoコアモジュールにカスタマイズする場合もここで行います。


簡単に分別するとしたらこんな感じ
core : Magentoの公式モジュール
community : 誰かが作ったモジュール
local : 自分で作ったモジュール

とはいってもMagentoConnectで入れたモジュールがlocalに入る事もあるので、
communityとlocalの細かい違いはよく分かりません。

▼各ディレクトリの下について
インストールしただけの状態だとcommunityやlocalの下には何もないので
coreの下を見てみましょう。

[Magentoディレクトリ]/app/code/core
  Mage/
  Zend/

MageとかZendというのは名前空間と呼ばれています。
communityやlocalにモジュールを増やす時に意識しますが、coreの下は意識しなくていい気がします。

Zendディレクトリは僕 よく分かっていませんw
今度調べないと、、

気を取り直してMageの下を見ていきます。
CatalogだとかAdminだとかいっぱいディレクトリがありますね。
これがモジュール名です。

Catalogだったら商品関係の、
Adminだったら管理画面関係の、
CoreだったらMagentoの基礎的な動作にまつわるもの、、、かな?

各モジュールディレクトリの下は基本的にこうなっています。

  /Block 画面を描画するphtml(テンプレート)ファイルから呼ばれるメソッドが集まります。
  /controllers コントローラーはここです。
  /etc 設定ファイル(xml)はここです。
  /Helper ヘルパーはここです。
  /Model モデルはここです。
  /sql モジュールのインストール時やアンインストール時に実行されるsqlが格納されているっぽいです。

※コントローラーやモデル、ヘルパーなどが分からない方はMVCモデルについて調べてみてください。


▼モジュールの有効/無効の設定
[Magentoディレクトリ]/app/etc/modules
ここに各モジュールを有効にするかどうかの設定ファイルがあります。

モジュール毎にxmlファイルを用意し、trueとなる事で
Magentoがモジュールを認識してくれるようになるというわけです。