2013-04-13 46 views
2

我已經創建了一個自定義模塊,它向magento類別添加一個屬性,並在我的類別頁面上顯示此屬性。Magento:是否有可能將塊添加到類別視圖上的其他塊而無需編輯catalog.xml

首先,我編輯了category/view.phtml模板文件以直接檢索我的屬性。工作正常,但不是一個真正的解決方案,因爲我不得不編輯默認的模板文件。

因此,我創建了自己的佈局.phtml文件,它在類別頁面上呈現自定義塊。只要我使用'content'作爲參考,這很好。

<catalog_category_default> 
     <reference name=\"content\">   
     <block type=\"categoryreadmore/readmore\" name=\"slim_readmore\"> 

事情是,這沒有做我所需要的。我需要將我的塊直接放在類別描述下!在catelog.xml中,如果在類別視圖中找到了它。

<reference name=\"content\"> 
     <block type=\"catalog/category_view\" name=\"category.products\" template=\"catalog/category/view.phtml\"> 
      <block type=\"catalog/product_list\" name=\"product_list\" template=\"catalog/product/list.phtml\"> 

所以我需要的是我的塊放在上面的\裏面\」所屬類別\」」 category.products \」塊。

這甚至可以不編輯catalog.xml嗎?我想要一個單一包模塊,而不必在每次安裝模塊時編輯默認模板。

在此先感謝!


任何想法?

我的假設是,這是不可能的,這將是一個遺憾

我當前的代碼

config.xml文件:

<frontend> 
    <layout> 
    <updates> 
     <readmore> 
      <file>readmore.xml</file> 
     </readmore> 
    </updates> 
    </layout> 

readmore.xml

<catalog_category_default> 
    <reference name="content"> 
    <block type="categoryreadmore/readmore" name="slim_readmore" before="product_list" > 
     <action method="setTemplate"><template>readmore/readmore.phtml</template></action> 
    </block> 
    </reference> 
</catalog_category_default> 
+0

你有沒有找到你的解決方案?我也在尋找它.. –

+0

我確實得到了很多,但從來沒有發現如何使用它,而無需在模板文件中進行任何編輯。只是沒有得到它使用下面的答案工作。我確實使用自定義創建的模塊「讀更多」,爲每個可以管理文本和標籤的分類添加額外的字段。讓我知道你是否對代碼感興趣。 – user1281146

回答

1

絕對!模塊可以定義他們自己的佈局XML文件。在您的模塊etc/config.xml文件中,定義您的佈局文件的名稱,並且該文件可以包含您想要創建的更新。將此文件放入app/design/frontend/base/default/layout。在新塊中,您可以添加before參數以指定它將在product_list塊之前呈現,如下所示:<block type=\"categoryreadmore/readmore\" name=\"slim_readmore\" before=\"product_list\">。 Magento足夠聰明,知道在product_list塊之前渲染此塊。這裏是你的模塊的代碼​​3210:

<config> 
    <frontend> 
     <layout> 
      <updates> 
       <module_identifier> 
        <file>module_layout_file.xml</file> 
       </module_identifier> 
      </updates> 
     </layout> 
    </frontend> 
</config> 
+0

嘿,謝謝你的答覆,但它只是沒有工作。我現在有自己的layout.xml文件。該塊在該文件中聲明。它出現了,但只是我想要的位置上。在我的答案下面查看我正在使用的當前代碼 在catalog.xml中可以看到類別視圖的結構是: - 類別視圖。phtml塊 - productlist塊 我的塊必須精確地在這兩者之間。但是因爲塊是嵌套的,所以它總是放在categoryview.phtml – user1281146

+0

之前或之後。你好,你有什麼想法嗎?會如此讚賞 – user1281146

+0

沒有想法?請 – user1281146

相關問題