2012-05-03 59 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中的代碼片段中添加之前或之後的標籤(例如=「product.info.media」)後,它會被渲染,但不會在整個產品視圖塊之前或之後。在catalog.xml中,我只是將它放在其他塊之間,它工作正常。

當我將整個產品視圖部分的內容從catalog.xml複製到我的local.xml中時,它可以工作,但所有內容(圖像,描述等)都會顯示兩次。

有什麼辦法通過local.xml來做到這一點?也許通過setchild?

回答

0

您正在將塊添加到內容塊。將您的reference名稱的值更改爲product.info。根據您的info_tabs別名,只要你的模板有

echo $this->getChildHtml('info_tabs')

你要善於去。

+0

謝謝奔那做了這份工作! – Socrates

1

當你談論local.xml時,你在說什麼/app/etc/local.xml?該文件是配置文件,而不是佈局更新文件。它並不打算像那樣工作。

如果你談論的是另一個佈局文件(在應用程序/設計/ <包>/<主題> /layout/local.xml),那麼你必須添加宣告此佈局更新文件複製到模塊的依賴聲明頁面原始內容的模塊(在你的情況下是Mage_Catalog)。

這是這樣的,因爲Magento的之前的屬性相比只有已經聲明塊,我覺得你的local.xml中的原始的catalog.xml前解析

讓我們假設你有一個名爲StackOverflow_Local模塊,即在其config.xml文件(應用程序/代碼/本地/ StackOverflow上/本地/ etc/config.xml中)這個聲明:

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

那麼你應該在你的應用程序模塊的聲明的/ etc /模塊/ StackOverflow_Loca湖XML,你會發現這樣的事情:

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

添加扶養(你的模塊不應該工作,如果Mage_Catalog被禁用/刪除),將您激活XML這樣的:

<?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

相關問題