magento显示请求网址

时间:2011-11-22 23:15:58

标签: url magento content-management-system controller request

我想显示名为

的模块,控制器和方法

我认为在

中找到了cms模块
  

应用\代码\核心\法师\ CMS \

调用IndexController.php并使用IndexAction方法。因为它是默认的页面URL。

但是当我试图在IndexAction方法中回应一些东西时。没有出现。我甚至试图手动调用它,它仍然会重定向到主页。

  

本地主机/ magento的/ index.php的/ CMS /索引/索引/

我正在做对吗? 如何显示在magento中调用的请求URL?

5 个答案:

答案 0 :(得分:11)

我也在寻找这个,这是怎么做的:

echo Mage::helper('core/url')->getCurrentUrl();

答案 1 :(得分:9)

您好,您可以尝试输出以下内容

<?php
    echo Mage::app()->getRequest()->getModuleName();
    echo Mage::app()->getRequest()->getControllerName();
    echo Mage::app()->getRequest()->getActionName();
?>

未经测试,但也许你可以做这样的事情

<?php
    echo Mage::app()->getRequest()->getRequestUri();
?>

希望这有帮助

问候

答案 2 :(得分:2)

我需要网址细分,所以我使用了这个:

function getUrlSegment($i) {
    $_baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
    $_currentUrl = Mage::helper('core/url')->getCurrentUrl();
    $_path = str_replace($_baseUrl, '', $_currentUrl);
    $_segments = explode('/', rtrim($_path, '/'));
    return $_segments[$i];
}

// Would get 'store' if URL: http://example.com/store/product/123
$root = getUrlSegment(1); 

答案 3 :(得分:0)

您可能使用控制器中的回显在日志文件中收到“已发送标头”警告。而不是使用echo使用Mage :: log,例如

Mage::log('My request url is: '.$requestUrl);

日志行应出现在/var/logs/system.log文件中。

答案 4 :(得分:0)

路由cms/index/index仅用于主页。其他标准页面(如“no-route”和“enable-cookies”)可选择由IndexController上的特定操作处理。其余页面由Mage_Cms_PageController::viewAction()处理。尝试使用路径cms/page/view/id/customer-service查看。该参数为id,因此下一个词customer-service是您在管理员中设置为“网址密钥”的网页标识符。