如何检测正在使用的模板?

时间:2011-04-01 15:51:20

标签: magento

我需要检测到我在onestepcheckout页面上。我目前正在使用:

if ( $_SERVER['REQUEST_URI'] != "/onestepcheckout/"){ 

但我想知道我是否可以从Magento对象获取信息?

2 个答案:

答案 0 :(得分:1)

$currentUrl = $this->helper('core/url')->getCurrentUrl();

在Mage / Core / Helper / Url.php中调用的方法

    /**
     * Retrieve current url
     *
     * @return string
     */
    public function getCurrentUrl()
    {
        $request = Mage::app()->getRequest();
        $url = $request->getScheme() . '://' . $request->getHttpHost() . $request->getServer('REQUEST_URI');
        return $url;
//        return $this->_getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true));
    }

由于上述内容可能会返回更完整的网址而不是您可以使用的URI:

Mage::app()->getRequest()->getActionName();

并获取正在调用的控制器操作的操作名称。

答案 1 :(得分:0)

您可以在IF条件中检查控制器名称。

if(Mage::app()->getRequest()->getControllerName() != 'onestepcheckout') {

同样,您也可以获取动作名称,模块名称等。

看一下这篇文章: - Magento: How to get controller, module, action and router name?

希望这会有所帮助。感谢。