2012-05-03 21 views
0

私は、製品ビューブロック内のストアの製品ビューに表示するカスタムブロック(タブ付き製品情報)を持っています。私は正しく私のview.phtml内のブロックと呼ばれ、私のXMLにブロックを追加するには、このコードを使用します。Magentoのlocal.xmlに追加したときにカスタムブロックが表示されない

<block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" > 

ブロックはのcatalog.xmlに入れたときにレンダリングされますが、私は私のlocal.xmlに入れていつでも

<catalog_product_view translate="label"> 
<label>Catalog Product View (Any)</label> 
    <reference name="content"> 
    <block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" > 
    </reference> 
</catalog_product_view> 

これは機能しません。 local.xmlのコードスニペットにbeforeまたはafterタグ(たとえば、after = "product.info.media")を追加すると、製品ビューブロック全体の前または後にレンダリングされますが、常に前または後に表示されます。 catalog.xmlでは、それを他のブロックの間に置いただけでうまくいきました。

catalog.xmlの全製品ビューセクションのコンテンツをlocal.xmlにコピーすると、すべてのコンテンツ(画像、説明など)が2回表示されます。

local.xmlでこれを行う方法はありますか?たぶんsetchildを通して?

答えて

0

ブロックをコンテンツブロックに追加しています。 reference値をproduct.infoに更新してください。 info_tabsのエイリアスに基づいて、限り、あなたのテンプレートが

echo $this->getChildHtml('info_tabs')

を持っているとして、あなたは行くために良いことがあります。

+0

:アクティベーションXMLはこれに変換(Mage_Catalogが削除/無効になっている場合、あなたのモジュールが動作してはならない)依存を追加するには

<?xml version="1.0"?> <config> <modules> <StackOverflow_Local> <active>true</active> <codePool>local</codePool> </StackOverflow_Local> </modules> </config> 

:あなたはこのような何かを見つける必要があり、XML仕事をした! – Socrates

1

local.xmlについては、/app/etc/local.xmlについてお話ししていますか?このファイルはレイアウトファイルではなく、設定ファイルです。それはそのように動作するようには意図されていません。

あなたが別のレイアウトファイル(アプリ/設計/ <パッケージ>/<でテーマ> /layout/local.xml)話をしているなら、あなたはこのレイアウトアップデートファイルを宣言し、モジュールの依存関係を追加する必要がありますページのオリジナルコンテンツを宣言するモジュール(あなたの場合はMage_Catalog)。

属性の前または後のMagentoのだけで、すでにブロックを宣言するために比較し、私は、元のcatalog.xml

は、あなたが持っていると仮定しましょう前に、あなたのlocal.xmlが解析されると思いますが、これはそのようなものです

<config> 
    <frontend> 
    <layout> 
     <updates> 
     <stackoverflow_local> 
      <file>local.xml</file> 
     </stackoverflow_local> 
     </updates> 
    </layout> 
    </frontend> 
</config> 

次にあなたがアプリでモジュールの宣言を持っている必要があります。そのconfig.xmlに(アプリ/コード/ローカル/ StackOverflowの/ローカルの/ etc/config.xmlに)で、この宣言を持ってStackOverflow_Localと呼ばれるモジュール、/etc/modules/StackOverflow_Loca l。おかげでベンがいること

<?xml version="1.0"?> 
<config> 
    <modules> 
    <StackOverflow_Local> 
     <active>true</active> 
     <codePool>local</codePool> 
     <depends> 
     <Mage_Catalog /> 
     </depends> 
    </StackOverflow_Local> 
    </modules> 
</config> 
+0

OPは、local.xmlレイアウトファイルに関するものです。 – benmarks

関連する問題