2012-07-12 46 views
0

我想在Magento的主頁之前添加登錄頁面,但似乎無處不在我看文檔非常模糊或者論壇很難理解。我對Magento相當陌生,但對編碼非常瞭解。任何人都可以給我一些指示嗎?或引導我在正確的方向...在主頁之前添加登錄頁面 - Magento

謝謝!

+0

任何人都可以幫忙!? – onei0120 2012-07-12 14:53:35

回答

3

我做了一次。我需要在顯示pre-home.phtml模板文件之前驗證cookie。

我創建了一個名爲「Pagina」新的模塊,並設置它的等/ config.xml中:

<page> 

      <layouts> 

       <pre_home module="pagina" translate="label"> 

         <label>Pre-home</label> 

         <template>page/pre-home.phtml</template> 

         <layout_handle>pre_home</layout_handle> 

       </pre_home> 

      </layouts> 

     </page> 

的cookie驗證是通過JavaScript製成,所以如果一個履帶式機器人訪問該網站,我們重定向到正確的頁面。在cms_index_index節點佈局/ page.xml,我們的推杆:

<cms_index_index> 
... 
     <reference name="after_body_start"> 

      <block type="page/html_head" after="-" name="index.js.beginning"> 

       <action method="addItem"><type>skin_js</type><name>js/prehome.js</name></action> 

      </block> 

     </reference> 
... 
</cms_index_index> 

在上/js/prehome.js JS文件:我在創造了另一個escope

var c_name = 'city'; 

if(window.location.toString().indexOf('pre-home') == -1){ 

    var first_visit = true; 

    var i,x,y,ARRcookies=document.cookie.split(";"); 

    for (i=0;i<ARRcookies.length;i++) 

    { 

     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 

     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 

     x=x.replace(/^\s+|\s+$/g,""); 

     if (x==c_name) 

     { 

     first_visit=false; 

     } 

    } 

    if(first_visit){ 
//you must define URL_SITE with site base url 
     location.href = URL_SITE + 'pre-home'; 

    } 



}else{ 

    document.getElementById("sp").onclick = function(){ 

     var exdate=new Date(); 

     exdate.setDate(exdate.getDate() + 365); 

     var c_value=escape('SP') + "; expires="+exdate.toUTCString(); 

     document.cookie= c_name + "=" + c_value; 

    } 

} 

注與/ default相同的目錄,名爲/ pre-home。所以我們需要另一個句柄,其中一個是佈局處理程序,另一個是模板/ [yourscope]/pre-home而不是/ default。但pre-home.phtml必須位於/default/template/page/pre-home.phtml中,如config.xml中所述。

基本上我有:

應用程序/代碼/本地/命名空間/ Pagina的/ etc/config.xml中

應用程序/設計/前端/ mytheme的/默認/佈局/ page.xml

應用程序/設計/前端/ mytheme的/默認/模板/頁/預home.phtml

皮膚/前端/ mytheme的/默認/ JS/prehome.js

我希望這可以幫助你。