Получить текущий URL-адрес в Magento и показать что-то
Я пытаюсь получить текущий URL-адрес в Magento и показать что-то, если я сейчас на этой странице. Пока это то, что я сделал, и это сработало.
<?php
$currentUrl = $this->helper('core/url')->getCurrentUrl();
?>
<?php if($currentUrl === 'http://powerplantv2.jehzlau.net/blog') { ?>I am in the blog page<?php } ?>
Однако я не хочу жестко кодировать URL-адрес в исходном коде, потому что, если я перехожу на другой сервер, мне нужно снова изменить файл phtml.
Я пробовал все, что нашел в Интернете, но это не сработало. Надеюсь, что эксперт Magento может рассказать мне, что я делаю неправильно.: (
Ответы
Ответ 1
Вы можете получить текущий URL-адрес, выполнив следующие действия:
$currentUrl = Mage::helper('core/url')->getCurrentUrl();
$url = Mage::getSingleton('core/url')->parseUrl($currentUrl);
$path = $url->getPath();
Затем, используя некоторую базовую логику, вы можете настроить таргетинг на страницу /blog
.
$blogPaths = array('/blog', '/blog/', '/index.php/blog/');
if(in_array($path, $blogPaths))
{
//Do something on /blog
}
Ответ 2
Альтернативным решением будет проверка контроллера, который вызывается. Проверьте выходные данные и посмотрите, работает ли оно на ya. Это работает внутри файлов шаблонов.
/**
* get Controller name
*/
$this->getRequest()->getControllerName();
/**
* get Action name, i.e. the function inside the controller
*/
$this->getRequest()->getActionName();
/**
* get Router name
*/
$this->getRequest()->getRouteName();
/**
* get module name
*/
$this->getRequest()->getModuleName();
Ответ 3
$currentUrl = Mage::helper('core/url')->getCurrentUrl();