如果可以避免,请不要绕过任何块的缓存。它将改善您在日志运行中的用户体验。但是,有几种方法可以解决这个问题。
我在这里写过关于基于每个控制器禁用缓存的博客。您目前可能会使用相同的方法,除非使用不同的“如果”条件。
我在哪里检查:
if ($action instanceof <controller_class_name>) {
你可以很容易地使用:
if ($user_is_mobile == true) {
这样做只会让您的移动用户同时工作。实际上,答案不是禁用或绕过缓存,而是使用相同的方法来监听页面请求并为移动和非移动请求分配不同的布局句柄。然后每个布局句柄将相应地缓存。
查看您如何在布局更新中使用句柄。从记忆中它是这样的:
Mage::app()->getLayout()->getUpdate()->addHandle("mobile");
然后在您的 page.xml 中,添加一个名为 mobile 的新节点,如下所示
<mobile>
<reference name="root">
<remove name="mainHead" />
<block type="core/template" name="mobileHead" />
</reference>
</mobile>
或类似的规定。这是未经测试的疯狂,但我希望你明白这一点。
否则,您可以根据屏幕分辨率考虑使用响应式 css。