伙计们。
我一直在寻找解决方案,但我得到的只是我需要的一些片段。我正在尝试在页脚上显示一些额外的内容。单击页脚链接时将显示此内容。我可以使用以下代码轻松做到这一点:
<!-- TRIGGER -->
<li><a href="javascript:void(0);" onclick="return abreInfo();">Sobre</a></li>
<!-- CONTAINER -->
<div id="infoShow">
<section> ... </section>
</div>
<!-- SCRIPT -->
<script type="text/javascript">
function abreInfo(id) {
jQuery("#infoShow").slideDown('fast', function () {
jQuery('html,body').animate({ scrollTop: jQuery("#infoShow").offset().top -54 }, 200);
});
}
</script>
虽然这实际上不是我需要的。因为section里面的内容需要是一个CMS Static Block,并且会加载不止一个Static Block,根据用户点击的页脚链接(我正在尝试做的是对页脚链接的AJAX调用,例如“关于”、“付款方式”、“送货信息”等)。不幸的是,知识使我想到了这种脚本:
function abreInfo(id) {
jQuery("#infoShow").slideDown('fast', function () {
jQuery('html,body').animate({ scrollTop: jQuery("#infoShow").offset().top -54 }, 200);
jQuery("#infoShow>section").load("<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('" + id + "')->toHtml() ?>", function () {
});
});
}
但是,如您所见,我在 javascript 中使用了 php echo,禁用了所有脚本。我无法解决的是一种通过单击“a”元素并将其打印在 javascript 函数上来获取 CMS 静态块 ID 的方法。
在网上看,我发现了一个可能有帮助的代码,但我不太确定如何处理:
$block_identifier = $_GET['id'];
$block = Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($block_identifier);
任何帮助将不胜感激。