9

Google を調べてみましたが、6 つのモジュール サブフォルダーのそれぞれが何であるかを説明している単一のサイトが見つかりません。私は通常、Google で物事を見つけるのが得意ですが、これは常に何も思いつきません。

Magento モジュールの各サブフォルダー (ブロック、コントローラーなど、ヘルパー、モデル、SQL) の違いを誰かが説明できますか?

4

2 に答える 2

31

非常に簡単に言えば:

ブロックは、コンテンツ (フロントエンド、バックエンド、電子メールなどのすべて) のレンダリングを担当します。コンテンツがどこかに表示されている場合、それはブロックである可能性があります。

コントローラは、URL 経由で行われたすべてのリクエストを処理する責任があります。http://www.example.com/catalog/product/view/id/9/という URL にアクセスすると、 controllers/ProductController.phpのカタログモジュールにアクセスし、その中にあるviewAction()メソッドにアクセスします。Magento で URL にヒットすると、リクエストは 1 つ以上のコントローラーを通過します。

etcには、モジュールの構成 xml ファイルが含まれています。これらは、ACL (アクセス制御リスト) からブロック/モデルなどへのアクセス方法、システム構成設定まで、すべてを担当します。いくつかのサンプル ファイル:

  • adminhtml.xml - 管理側の大部分を処理します。ACL とメニュー コントロールを処理します。このファイルはオプションです。
  • config.xml - モジュールのすべての基本構成を処理します。このファイルは、ヘルパー、ブロック、モデル、リソース、デフォルトのモジュール設定、書き換え、オブザーバー、フロントエンド レイアウト ファイル、およびその他の多数の構成を見つける方法/場所を定義します。このファイルは、モジュールが機能するために必要です。
  • System.xml - サイトの [システム] -> [構成] セクションに挿入されたすべてのシステム構成が含まれています。
  • 他にもありますが、それらはあなたが求めているものよりも高度なトピックです.

ヘルパー- これらのファイルは「ヘルパー」です。それらには、モジュールに共通の機能、または他のモジュールからアクセスできる機能が含まれています。これらの機能の 1 つは、翻訳を提供することです。さらに、Data.php は、ここに含まれるデフォルトのヘルパーです。システム構成がある場合、システム構成を正しく表示するには Data.php が必要です。

モデル- これらはデータのオブジェクトです。たとえば、製品またはカテゴリはモデルです。データ管理機能を提供します。モデル フォルダーに含まれるリソース フォルダーとインターフェイスしてデータベースにアクセスし、コレクションとインターフェイスしてオブジェクトのコレクションを取得します。

sql - これらはセットアップ スクリプトです。モジュールが正しく構成されている場合、モジュールがインストールされると、データベースにいくつかの変更を加える必要がある場合があります: テーブル、製品への属性、またはカスタム構成の追加。


http://alanstorm.com/category/magentoをご覧になることをお勧めします

彼には多くのサンプル、チュートリアル、およびその他の優れたヒントがあり、より完全な出発点です。

于 2013-01-11T18:17:17.503 に答える
5

各機能を理解する最善の方法は、コア内のモジュールを確認することです。

ヘルパー- Magento のヘルパー クラスには、オブジェクトと変数に対して一般的なタスクを実行できるユーティリティ メソッドが含まれています。例: $helper = Mage::helper('catalog')

ブロック- 各ブロック オブジェクトは、HTML の特定のビットをレンダリングします。ブロック オブジェクトは、PHP コードの組み合わせと、PHP .phtml テンプレート ファイルの組み合わせによってこれを行います。ブロック オブジェクトは、Magento システムとやり取りしてモデルからデータを取得することを目的としていますが、phtml テンプレート ファイルはページに必要な HTML を生成します。

コントローラー- どの PHP システムでも、メインの PHP エントリ ポイントは PHP ファイルのままです。Magento も例外ではなく、そのファイルは index.php です。

Magento モデル- Magento は、最近のほとんどのフレームワークと同様に、オブジェクト リレーショナル マッピング (ORM) システムを提供します。ORM を使用すると、SQL を記述するビジネスから解放され、純粋に PHP コード (およびその他のコア ビジネス ロジック) を介してデータストアを操作できるようになります。

etc - これは、構成ファイル (config.xml、system.xml、および/または adminhtml.xml) を配置する場所であり、magento にモジュールがアクセスできるものと、カスタム モジュールに関するその他の構成を通知します (を参照) 。

sql - これは、セットアップ スクリプトを配置する場所です (たとえば、新しいテーブルを magento db に追加します)。

@ Magento for Developers をご覧ください: パート 1 - Magento の紹介

于 2013-01-11T18:19:56.033 に答える