2011-11-02 4 views
7

は、私は私が私のテーマのレイアウトフォルダにpage.xmlをコピーしてMagentoでブロックを2回取得していますか?

<page_two_columns_left translate="label"> 
<label>All Two-Column Layout Pages (Left Column)</label> 
<reference name="root"> 
    <action method="setTemplate"><template>page/2columns-left.phtml</template></action> 
    <!-- Mark root page block that template is applied --> 
    <action method="setIsHandle"><applied>1</applied></action> 
</reference> 
<reference name="content"> 
    <block type="core/template" name="mycategories" output="toHtml" template="sweet/sweet.phtml"/> 
</reference> 
ここ

私は私のホーム・ページの中央に1つのブロックを期待していたと同じようにそれを修正して、ホームページで製品ブロックを作成しようとしています私はそれを取得していますが、これに加えて、ホームページの一番下にあるもう一つのブロック(このブロックsweet.phtmlと同じです)を取得しています。フッターのリンクの下に。誰でも私に問題が何であるか教えてもらえますか?

+0

あなたは 'mycategories'という名前のブロックをあなたのものに置き換えようとしていますか? – Zyava

答えて

12

ブロックを出力ブロックとしてマークしました。コントローラの動作でビューがrenderView()でレンダリングされると、そのブロックはその子をエコーするブロックの子であり(のコンテンツcore/text_listブロックです)、それ自体でレンダリングされる出力ブロックです。

output="toHtml"ビットを削除すると、必要な情報が得られます。ちなみに、この変更はカスタムpage.xmlからレイアウト内のlocal.xmlファイルに移すことができます。<page_two_columns_left />レイアウト更新ハンドルの内部にある必要があります。

+0

ありがとうございました...私は自分のフォルダにpage.xmlをコピーしました。私はそこに変更を加えています。いいじゃない? – ScoRpion

+0

さて、それはアップグレードパスを妨害します。理想的には、このような変更はテーマのレイアウトフォルダ内のlocal.xmlファイルで行い、page.xmlはそのままにしておきます。したがって、local.xmlには<.../> – benmarks

関連する問題