2010-07-05 64 views
1

一旦我重寫控制器:重寫位指示後如何最好地更新處理

  <!--...-->    
       <rewrite>   
        <sj_storepickup_checkout_onepage>      
         <from><![CDATA[#^/checkout/onepage/#]]></from> 
          <to>/storepickup/checkout_onepage/</to>   
        </sj_storepickup_checkout_onepage>     
       </rewrite>   
      <!--...--> 

我被迫(因爲我不知道其他的方式),包括佈局文件:

    <!--...-> 
        <layout>  
         <updates>  
          <storepickup>   
           <file>storepickup.xml</file>  
           </storepickup>   
         </updates>  
        </layout>  
       <--...--> 

使我可以更新新模塊(這種情況下storepickup)處理使用原始checkout_onepage_action處理將完成如下storepickup.xml

  <sj_storepickup_checkout_onepage_index>   
       <update handle="checkout_onepage_index"/> 
      </sj_storepickup_checkout_onepage_index>  

      <sj_storepickup_checkout_onepage_progress>   
       <update handle="checkout_onepage_progress"/>   
      </sj_storepickup_checkout_onepage_progress> 

           . 
           . 
           . 

否則,佈局將呈現空的內容塊。

在佈局文件storepickup.xml中,我說要使用原始的結帳佈局句柄,這似乎是很多重複性和低效率的方法來做到這一點?有更好的方法來更新句柄嗎?我可以在控制器中做同樣的事情,避免額外的佈局文件寫/處理?

謝謝

Margots

回答

4

重寫控制器直接總是有點​​劈,用了很多的不良副作用。嘗試使用the technique discussed here讓Magento首先檢查您的模塊是否有特定的控制器文件。

<admin> 
<routers> 
    <adminhtml> 
    <args> 
     <modules> 
     <sintax before="Mage_Adminhtml">Mage_Sintax</sintax> 
     </modules> 
    </args> 
    </adminhtml> 
</routers> 
</admin> 

它應該保持您的句柄名稱完好無損。

+0

+1,對於這樣一個信息豐富的基本答案,支持Magento語法。 – 2010-07-06 07:31:04

0

謝謝Alan,...我在發佈之前就試過了,只是爲了瞭解Magento 1.2版本不支持這個解決方案,並且該網站版本是1.2。我相信這個解決方案只適用於magento 1.3及以上版本。請糾正我,如果我錯了?

任何其他想法如何解決這個在magento版本1.2及以下?

相關問題