0

モバイル デバイスには、異なる JS、レイアウト、CSS、および画像ファイルをロードする設計上の例外があります。

FPCをオフにすると、完全に機能します。ただし、オンの場合は、全員が通常のサイトを取得します (例外なし)。

これはhead.phtmlキャッシュされているためだと思います。

FPC からの head.phtml の除外は、ここに行く方法ですか? それとも他の何かが働いていますか?

それが事前の場合、それを行うための最良の方法は何ですか? でカスタム モジュールを作成し、?cache.xmlから cache.xml を模倣します。Enterprise/PageCache

これは Magento EE 1.11 です。

4

1 に答える 1

1

回避できる場合は、ブロックのキャッシュをバイパスしないでください。ログ実行時のユーザー エクスペリエンスが向上します。ただし、この問題に取り組む方法がいくつかあります。

コントローラーごとにキャッシュを無効にすることについて、ここにブログを書きました。「if」条件が異なる場合を除いて、当面は同じ方法を使用できる可能性があります。

私がチェックしているところ:

if ($action instanceof <controller_class_name>) {

同様に簡単に使用できます:

if ($user_is_mobile == true) {

このようにすると、その間にモバイル ユーザーが作業できるようになります。実際、答えはキャッシュを無効にしたりバイパスしたりすることではなく、同じ方法を使用してページ リクエストをリッスンし、モバイル リクエストと非モバイル リクエストに異なるレイアウト ハンドルを割り当てることです。各レイアウト ハンドルは、それに応じてキャッシュされます。

レイアウトの更新でハンドルを使用する方法を調べてください。記憶からすると、次のようなものです。

Mage::app()->getLayout()->getUpdate()->addHandle("mobile");

次に、page.xml に、次のようなモバイルという新しいノードを追加します。

<mobile>
    <reference name="root">
        <remove name="mainHead" />
        <block type="core/template" name="mobileHead" />
    </reference>
</mobile>

または、それらの線に沿った何か。これはめちゃくちゃテストされていませんが、アイデアが得られることを願っています。

それ以外の場合は、画面の解像度に応じてレスポンシブ CSS を使用することを検討できます。

于 2012-05-31T01:41:29.523 に答える