我的footer.phtml中有以下代码块
<!-- Customer Modal -->
<?php if (array_key_exists("customer_select", $_COOKIE) == FALSE ): ?>
<script type="text/javascript" src="<?=$this->getSkinUrl('js/jqModal.js')?>"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#customer_type_dialog").jqm().jqmShow();
});
</script>
<?php include("../../templates.eu/templates.sbc.de/_includes/customer_select.php"); ?>
<?php endif; ?>
当我打开块缓存时,它会停止对此进行评估,只返回缓存的值。我可以解决这个问题,或者更好的方法是什么?基本上我正在检查是否存在cookie,如果确实存在,我将向页面添加一些js和另一个文件。
答案 0 :(得分:2)
将上面的代码放在它自己的模板文件中并进行此布局更改:
<reference name="before_body_end">
<block type="core/template" template="your/cookie/check/file.phtml" />
</reference>
这样可以缓存页脚(这有助于保持页面快速),并且每次都会评估您的cookie检查。此外,Javascript一直保留到页面的最后一个可能点,这是内联脚本的最佳实践。