Подтвердить что ты не робот

Получить текущий 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 может рассказать мне, что я делаю неправильно.: (

4b9b3361

Ответ 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();