2016-04-01 14 views
0

Bir Magento yüklemesinde Vernik ve Turpentin taktım. Önbelleğe alma çalışıyor, ancak GeoIP yönlendirme bloğu için bir delik açmanın zorluğunu yaşıyorum. Bu blok, verniğin yüklü olmayan bir dev sürümü üzerinde doğru bir şekilde çalışır.Magento Vernik Php yönlendirme için terebentin delgi deliği

Bu GeoIP bloğu, kullanıcıyı IP'lerine göre doğru dil/para birimine göndermek için bir php üstbilgisi konumu yönlendirmesi yapmalıdır. Magento, birden çok web sitesi ve mağaza görünümü ile yapılandırılmıştır.

sayfadaki hiçbir çıkış Ben Magento kafa bloğunda benim GeoIP bloğunu dahil ve daha sonra 0.

<block type="page/html_head" name="head" as="head"> 
    <block type="geoipswitch/geoIpSwitch" name="geoIpSwitch"> 
      <action method="setEsiOptions"> 
       <params> 
        <access>private</access> 
        <ttl>0</ttl> 
       </params> 
      </action> 
     </block> 
    ... 

I yaşamak için bir zaman EsiOptions belirledik varsa php başlık konumu sadece çalışmak yönlendirmeler nedeniyle Bu, önbelleğe alma seçenekleri için en iyi yer değil, ancak olası sorunların sayısını azaltmaya çalışıyorum. Yıkama olaylarını ve ajax/esi yöntemlerini denedim.

<block type="page/html_head" name="head" as="head"> 
     <block type="geoipswitch/geoIpSwitch" name="geoIpSwitch"> 
       <action method="setEsiOptions"> 
        <params> 
         <access>private</access> 
         <ttl>0</ttl> 
         <method>ajax</method> 
        </params> 
       </action> 
      </block> 
     ... 

olursa olsun ilk ziyaretçi doğru yönlendirildi ve ondan sonra her ziyaretçinin bakılmaksızın IP aynı siteye gönderilen alır önbelleği kızarma sonra deneyin neyi.

Herhangi bir öneri veya yardım varsa, bu kişi büyük takdir görür.

cevap

0

Sizin xml iyi görünüyor ve işe yaradı gerekirdi ... Her şeyden

Önce Magento'nın önbellek depolama (düzen xmls ve bloklar önbelleğe alınmış olabilir) temizletmeni ve tam vernik gerçekleştirdikten emin olun tasfiye.

Tüm bunları yaptıysanız, deneyebileceğiniz bir şey, kapsamı ve flush_events değerini belirlemektir.

<action method="setEsiOptions"> 
    <params> 
     <access>private</access> 
     <scope>page</scope> 
     <method>esi</method> 
     <ttl>0</ttl> 
     <flush_events> 
      <controller_action_layout_load_before/> 
     </flush_events> 
    </params> 
</action> 
: Eğer sayfa kapsamını kullanın ve controller_action_layout_load_before olay olarak aynı hizada olay için ben önerdiğim şey