2012-11-21 35 views
1

感謝您提前提供任何幫助。在Magento更改新聞Sidebox的位置

我正在嘗試更改sideboxes在magento中的顯示順序。如:我的購物車,通訊,投票,最近查看的產品。

目前我正在嘗試使時事通訊框顯示最後。

在應用程序/設計/前端/默認/ MY_TEMPLATE /佈局/ newsletter.xml

我有以下代碼:

<default> 

    <!-- Mage_Newsletter --> 
    <reference name="left"> 
     <block type="newsletter/subscribe" name="newsletter" after="-" template="newsletter/subscribe.phtml" /> 
    </reference> 

</default> 

然而,即使有後= 「 - 」,如圖中的代碼,通訊仍然是第一。

我刷新了所有緩存,並且每次修改都無法重新索引。

編輯:

更改

<reference name="left"> 

TO

<reference name="right"> 

它移動到列表的底部。但是,該列實際上位於左側。任何想法爲什麼這個作品?

+0

哪個盒子最後顯示的不是新聞信件 –

回答

1

全部爲sortedChildren條目。嘗試擺脫定製newsletter.xml,創造了local.xml中文件中的自定義主題,並添加以下內容:

<?xml version="1.0"?> 
<layout> 
    <default> 
     <action method="unsetChild" block="left"> 
      <block>left.newsletter</block> 
     </action> 
     <action method="insert" block="left"> 
      <block>left.newsletter</block> 
      <sib /> 
      <after>1</after> 
     </action> 
    </default> 
</layout> 

這樣做是什麼從排序列表中刪除塊參照兒童塊,然後在最後再添加它。參考。 Mage_Core_Block_Abstract::insert() [link]

我已經爲<action />標記使用了一個未使用但有效的block屬性,而不是將其包裝在<reference />中。我相信效果是一樣的。

+0

我刪除了app/design/frontend/default/MY_TEMPLATE/layout/newsletter.xml,並添加了app/design/frontend/default/MY_TEMPLATE/layout/local.xml ,但新聞通訊仍然處於頂端。 – user1625155

-1

檢查顯示在左側/右側邊欄中的塊名稱(在佈局xml文件中)。 你可以找到這樣的事情

​​

上面的代碼會顯示車側邊欄然後進行比較欄。考慮這是你側欄中的最後一個塊。如果您想在此區塊之後發送新聞稿,您必須指定

<reference name="right"> 
     <block type="newsletter/subscribe" name="newsletter" after="catalog.compare.sidebar" template="newsletter/subscribe.phtml" /> 
    </reference> 

您必須在元素標籤之前/之前指定塊名稱。找到你的左/右側欄的最後一個塊名稱,並在你的時事通訊塊中使用該名稱。

+0

不鼓勵複製佈局XML文件 - 更好地使用local.xml – Alex

+0

我沒說你複製layout xml文件。你可以把這段代碼放在你的local.xml文件中。首先閱讀解決方案。我告訴找到XML文件中的名稱。 – Palanikumar