0

(モジュールから) BLOCK クラスにアクセスする方法を見つけました... phtml ファイルで。基本的に「$var = Mage::blahblah....」を使用して、モジュール内の任意のブロック ファイルにアクセスできます。

この stmt を保存していませんでした。もう一度使用する必要があり、必要な情報が見つかりません。

ステートメントがどうなるか知っている人はいますか?

どうもありがとう

4

2 に答える 2

1

ブロック クラスのインスタンスは、次のようにどこでもインスタンス化できます。

Mage::app()->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->getBlock('block_name_loaded_in_controller_or_layout_or...');
于 2012-05-23T23:53:52.830 に答える
1

ベンの応答をさらに進めるために、私は以下を使用しました:

$cmsBlock = Mage::getModel('cms/block')->load($blockId)->getContent();
if($cmsBlock) {
    ...do stuff...
}

特定の静的ブロックが存在するかどうかを確認するとき。これを通常どおりエコーして、コンテンツを表示できます。

ここでの主な違いは次のとおりです。

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($blockId)->toHtml();

新しいブロックを作成しますが、$blockId が有効でない場合は空になることがあります。最初のメソッドは、その特定の静的ブロックを呼び出します。ここには別の方法があるかもしれませんが、これが私にとってうまくいった方法です。

于 2012-05-24T19:33:40.527 に答える