2011-09-19 78 views
2

我看到標註模板(在前端\ my_package \ DEFAULT \模板\標註文件)沒有相應的佈局的XML文件之間的關係(前端\ my_package \ DEFAULT \佈局)。所以,我想如果我在前端\ my_package \ default \ layout \ callouts.xml中有一個空白布局XML文件,這將禁用Magento首頁上的標註塊。但是,它不起作用。Magento的:模板文件和佈局XML文件

結賬模板確實有checkout.xml佈局文件,因此使之成爲一個空白文件,從我看的頁面刪除結賬出塊。對於checkout塊的情況,checkout.xml是否會覆蓋從活動catalog.xml中調用的內容?我不刪除catalog.xml中的相應行,但空白checkout.xml文件將禁用此塊。

我知道,消除在catalog.xml中的任何塊對應的行可以取消/不加載我想要的網頁上,但我想找出爲什麼我的企圖「覆蓋」標註不加工。 TIA!

注意:我已經禁用了緩存。

回答

5

短的版本:所有這些XML文件合併成一個巨大的XML文件。然後,每個請求期間,內部的某些頂層標籤XML(<默認>,<catalog_category_index>等;還有標籤被稱爲把手)被選擇,併合併到一個較小的XML文件。留在較小XML文件中的節點是一組用於創建特定塊的指令。每個(很好,大部分)塊都有一個phtml模板文件。當你把東西添加到local.xml時,你會說「除了正常的東西,做這些額外的東西」。當你替換整個文件喜歡catalog.xml,你說「我們的文件,而不是」,忽略你通常做的東西。

如果你有興趣在長版閱讀Magento的佈局系統上No Frills Magento Layout,我的DRM免費的PDF。

0

一個解決方案是 '壓倒一切' 的標註應該是這樣:

/app/design/frontend/base/default/layout/local.xml

<layout version="0.1.0"> 
    <default> 
     <remove name="left.permanent.callout" /> 
     <remove name="right.permanent.callout" /> 
    </default> 
</layout> 

NB:艾倫的回答涵蓋了一切在你的問題,但。