6

カスタム参照ブロックを Magento で動作させるのに問題があります。

これらは私が取ったステップです:

ステップ1

page.xml に新しい「参照」ブロックを作成

<block type="core/text_list" name="newreference" as="newreference"></block>

ステップ2

ページに表示したい場所にこのブロックへの参照を追加しました (1column.phtml、2columns-left.phtml、2columns-right.phtml、3columns.phtml のフッターの上)。

<?php $this->getChildHtml('newreference'); ?>

ステップ 3

Magento にテンプレート パーツ (specialfooter.phtml) を出力するよう指示する catalog.xml への参照を、カテゴリ ページの「newreference」参照ブロックに追加しました。

<reference name="newreference">
     <block type="core/template" name="specialfooter" template="page/html/specialfooter.phtml"></block>
</reference>

ステップ 4

テストする単純な段落ブロックを含む「specialfooter.phtml」を page/html/ ディレクトリに作成しました。

そして、何も起こりません。

私が行った手順は、参照ブロックがどのように機能するかについての私の理解と一致していますが、間違っている可能性があります. 公式またはそれ以外のドキュメント、または主題に光を当てる以前の SO の質問を見つけるのに苦労しています。

私はMagento版を使用しています。1.7.0.2。

どんな助けでも大歓迎です。

4

2 に答える 2

6

忘れませんechoか?:

<?php echo $this->getChildHtml('newreference'); ?>
于 2012-10-24T08:14:34.040 に答える
0

私は同じ問題を抱えていましたが、これは私にとってはうまくいくようです。

layout/page.xml のこのブロック

    <block type="page/html/new_newreference" name="newreference" as="newreference" template="page/html/new/newreference.phtml"/>

ページ内で参照できます以下を使用して、テンプレート/ページ フォルダー内の1column.phtml :

    <?php echo $this->getChildHtml('newreference') ?>

「タイプ」の命名と「テンプレート」のパス、および getChildHtml() の「名前」と「as」の相関関係に注意してください。

商品ページにも同じ原則を使用します。layout/catalog.xml のこのブロック

    <block type="catalog/product_new" name="catalogreference" as="catalogreference" template="catalog/product/new/catalogreference.html"/>

以下を使用して、template/catalog/product/view.phtml で参照できます。

    <?php echo $this->getChildHtml('catalogreference'); ?>

これらの例は両方ともフォルダ固有のものであることに注意してください

ウィジェットで使用するブロックが必要な場合。このブロックを適切な参照ブロック(例:関連する xml ファイルの「コンテンツ」または「ヘッド」)に追加します。page.xml または catalog.xml :

    <block type="core/text_list" name="mywidgetblock" as="mywidgetblock">
       <label>My widget Block</label>
    </block>

注意: 「型」の宣言がわかりませんが、動作しますか?

管理パネルの CMS/Widget/Widget インスタンスの新規または既存のLayout Updates/ Block Reference で、ドロップダウンから [My widget Block] を見つけます。

私はMagentoが初めてで、これを解決するのに多くの試行錯誤が必要だったので、同じ状況の誰かに役立つことを願っています.

于 2014-01-18T08:20:59.447 に答える