【发布时间】:2011-02-22 17:38:18
【问题描述】:
我们的网站在开头有这个调用来查找页面的名称(例如 product.html,product = name),并在其中添加“-tabs”以生成变量 $block_name:
<? $current_url = $_SERVER['REQUEST_URI']; // this will return everything after the http://www.domain.xx including preceding "/"
$block_name = preg_replace ("/^(?:.*)\/(.*).html$/", "$1-tabs" , $current_url); ?>
该变量随后用于稍后调用静态块:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($block_name)->toHtml() ?>
如果有人转到http://example.com/product.html,它工作正常,但如果我使用任何 url 跟踪,如 Analytics,并且 url 末尾有这个:
http://example.com/product.html?utm_source=newsletter&utm_campaign=product_launch&utm_medium=email
然后变量没有正确创建并且静态块没有加载。
有没有办法忽略 .html 之后的任何内容,以便任何跟踪附加都不会影响静态块加载?
谢谢!
【问题讨论】:
标签: php magento preg-replace