2017-12-15 12 views
0

製品をロードしてその名前を表示(または削除)したいとします。ベストプラクティスについて話をすると、ブロックやコントローラに「ロード」メソッドを作成する方が良いでしょうか?Magentoでブロックとコントローラーを使用する場合

+0

あなたはphtmlファイルで製品名を表示しますか? –

+0

@DhirenVasoya正確に!私はコントローラやブロックを使って製品を読み込むことができるので、Magentoのベストプラクティスを学びたいだけです。 – androniennn

+0

私は回答を投稿して、それを確認してください。 –

答えて

1

phtmlで製品名を使用する場合は、

  1. ページに複数の製品がある場合は、コードをphtmlファイルに入れてください。

  2. 単一の製品をお持ちの場合は、ブロックファイルを使用して製品を読み込むことができます。

+0

コントローラを使用して製品名を取得することもできます。 – androniennn

+1

それは複雑なものです。したがって、コントローラのブロック・スタティックを使用する方が良いです。一般にコントローラは任意のアクションに使用されます。 –

1

この質問は、あなたが実際にあなたをより良くするために実際にどこに表示されているのか、もう少し背景が必要です。初心者レベルでのMagentoのベストプラクティスを理解するためには、いつもMagento Coreロジックを見て、通常どおりに実行する必要があります。

  1. カスタムモジュールのスケルトン
  2. フロントエンドコントローラ際にURLレイアウトファイルをロードするために:「ベストプラクティス」については

    あなたはMagentoの中で動作するように、これを取得する必要がありますかなりの数のものがありますあなたは

  3. 独自のブロックを使用することになります& .phtmlのテンプレートを使用するカスタムブロックを宣言する
  4. XMLレイアウトファイルと呼ばれているので、あなたが.phtmlファイルからカスタム関数を呼び出すことができます
  5. 返されたProductオブジェクトの名前を出力する.phtmlファイル。たとえば、ブロッククラスに "loadMyProduct()"関数がある場合は、.phtmlファイルに$product = $this->loadMyProduct();という名前を付けます。

その後、$product->getName()と.phtmlファイルのその他のプロパティにアクセスできます。 P.P.ロードプロダクト関数がより複雑になる場合は、コードをヘルパークラスに入れてブロッククラスからヘルパーを呼び出すことです。D

このトピックに関するAlan Stormのガイドは、完全にdetailを参照してください。

関連する問題