Наш сайт вначале вызывает этот запрос, чтобы найти имя страницы (например, 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-адресов, например, Google Analytics, и в конце URL-адреса есть это:
http://example.com/product.html?utm_source=newsletter&utm_campaign=product_launch&utm_medium=email
Тогда переменная не создана должным образом и статический блок не загружается.
Есть ли способ игнорировать что-либо после .html, чтобы любое добавление отслеживания не влияло на загрузку статического блока?
Спасибо!