0

私は現在、カスタムAdminhtmlモジュールにブロックを追加しようとしています。ブロックのコンテンツを表示することはできますが、ページの上部に灰色の背景でレンダリングされ、デザインとメニューを含む標準のMagentoレイアウトがその真下にレンダリングされます。

ベストプラクティスを学ぶために正しい方法で物事を行おうとしています。本やチュートリアル、Magentoコアをフォローしていますが、これまでのところコンテンツを正しく追加できていません。

これまでのところ私は持っています:

public function indexAction()
{
    $this->loadLayout();
    $this->_setTitle();
    $main_block = new Invent_General_Block_Info();
    echo $main_block->toHtml();
    //$this->_addContent($main_block);
    $this->renderLayout();

MageCoreでそうする一般的な方法は次のようになります。

/**
  * Append customers block to content
  */
    $this->_addContent(
        $this->getLayout()->createBlock('adminhtml/customer', 'customer')
    );

私はすでにブロック$main_blockを作成しているので、-> createBlockを実行しても意味がありません。したがって、ここから何をすべきかわかりません。

どんな援助もいつものようにありがたいです。ありがとう!

4

2 に答える 2

5

この問題を解決する答えを見つけました。

もちろん、それはアラン・ストームから来ます。ありがとうアラン。スレッドはここにあります

これを解決するために、私がしたことは次のとおりです。

app/design/adminhtml/mythemename/info.phtml にフォルダーを作成します

そして、私のコントローラーアクションで私は単にやった:

$this->loadLayout();
    $this->_setTitle();
 $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('shipment/info.phtml'));
    $this->renderLayout();

そしてそれはうまく機能します。

于 2012-05-03T11:39:04.913 に答える
0

CMS で作成した静的ブロックの場合は、これを使用します

/**
  * Append customers block to content
  */

$this->_addContent(
  $this->getLayout()
    ->createBlock('cms/block')
    ->setBlockId('{block_name}')
    ->toHtml() 
);
于 2012-05-01T18:28:35.337 に答える