2012-03-18 8 views
5

"design/adminhtml"の下の特定のフロントエンドUI要素をバックエンドで再利用したいと考えています。これは、主にテンプレート(phtml)を再利用することで構成されます。しかし、フロントエンドのレイアウトハンドルをバックエンドから参照する方がより良いように見えます。 magentoは、共有UIコンポーネントの場所、それらを共有として宣言する方法、またはfrontend/adminhtmlの分割でそれらを参照するためのメカニズムを提供していますか?ありがとうマゼンタのフロントエンドとバックエンド(adminまたはadminhtml)の間でテンプレートを共有する

答えて

9

@coriscus はい可能です。私はあなたが管理者からフロントエンドのテンプレートを使用するトリックを見つけました。

public function __construct() 
{ 
    parent::__construct(); 
    $this->setData('area','frontend'); 
    $this->setTemplate('customer/online.phtml'); 
} 

ブロックコンストラクタに必要な領域を設定するだけです。

+0

ありがとうございました!これは貴重な助けとなりました。 – coriscus

+3

完全性のために、そして自分自身のように、マゼンタにとって初めての人にとって、これはlayout-xmlで ' \t <アクションメソッド= "のsetData"> \t \t エリア \t \t フロントエンド \t 'または、より簡単に、'として<ブロック...テンプレート= "顧客/ online.phtml"> \t <アクションメソッド= "setArea">フロントエンド '* setArea( 'frontend')*は* setData( 'area'、 'frontend')*と同じです。 – coriscus

+0

このメソッドは、現在の管理パッケージと同じデザインパッケージを使用することに注意してください。ほとんどの場合、それは「デフォルト」になります。 –

関連する問題