2016-04-01 5 views
0

Magentoのインストールでは、ワニスとテルペンチンをインストールしました。キャッシングは正常に機能していますが、GeoIPリダイレクトブロックの穴を開けるのに問題があります。このブロックは、ワニスがインストールされていない開発版のサイトで正しく動作します。Magentoワニスphpリダイレクトのためのテルペンタントパンチ穴

このGeoIPブロックは、ユーザーのIPに基づいて正しい言語/通貨にユーザーを誘導するために、PHPヘッダーの場所のリダイレクトを行う必要があります。 Magentoは複数のWebサイトとストアビューで構成されています。

PHPのヘッダの場所は、何も出力がページに存在しない場合、私はMagentoのヘッドブロックに私のGeoIPブロックが含まれているし、私は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> 
    ... 

の生きるために時間とEsiOptionsを設定するだけで作業をリダイレクトしているのでこれはキャッシュオプションのための最適な場所ではないことを認識していますが、私は可能な問題の数を減らそうとしています。私は、フラッシュイベントとajax/esiメソッドを使用しようとしました。

<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> 
     ... 

どんなに私が最初に訪問者が正しくリダイレ​​クトされると、その後のすべての訪問者は関係なくIPの同じサイトに送信されますキャッシュをフラッシュした後にしようとするもの。

誰かが何か提案や助言をいただければ、大いに感謝します。

答えて

0

あなたのXMLは正常に見える、それが働いている必要があります...

まず第一に、あなたがMagentoののキャッシュストレージにフラッシュされていることを確認してください(レイアウトXMLSとブロックがキャッシュされる場合があります)、あなたは完全なニスを行っていてくださいパージ。

これらの作業をすべて済ませている場合、試してみることの1つは、scopeとflush_eventsを設定することです。あなたはフラッシュイベントとしてページ範囲とcontroller_action_layout_load_beforeイベントを使用するために私が示唆されています:

<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> 
関連する問題