2012-07-12 4 views
0

Magento에서 홈페이지 앞에 방문 페이지를 추가하고 싶지만 문서가 너무 모호하거나 포럼이 이해하기 어려울 정도로 보입니다. 나는 Magento에 상당히 익숙하지만 코딩에 정통합니다. 누구든지 나에게 약간의 지시를 줄 수 있니? 또는 올바른 방향으로 나를 안내 ...홈페이지 이전에 방문 페이지 추가 - Magento

고마워!

+0

누구나 도와 줄 수 있습니다!? – onei0120

답변

3

나는 한 번했습니다. pre-home.phtml 템플릿 파일을 표시하기 전에 쿠키를 확인해야했습니다.

나는 "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> 

쿠키 검증은 크롤러 로봇이 사이트를 방문 할 경우, 그래서 우리가 리디렉션, 자바 스크립트를 통해 만들어졌다 올바른 페이지로 이동하십시오. 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; 

    } 

} 

주/pre-home이라는/dir과 동일한 디렉토리. 따라서 우리는 다른 핸들을 가질 필요가 있습니다. prehhome 레이아웃 처리기와 일부 JS는 템플릿/[yourscope]/pre-home 대신/default입니다. 그러나 pre-home.phtml은 config.xml에 언급 된대로 /default/template/page/pre-home.phtml에 있어야합니다. 기본적으로

내가 가진 :

응용 프로그램/코드/지역/네임 스페이스/PAGINA을/etc/config.xml에

응용 프로그램/디자인/프론트 엔드/mytheme/기본/레이아웃 /에서 page.xml

응용 프로그램/디자인/프론트 엔드/mytheme/기본/템플릿/페이지/사전 home.phtml

피부/프론트 엔드/mytheme/기본/JS/prehome.js

도움이되기를 바랍니다.