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

发布于 2024-10-29 00:04:04 字数 162 浏览 2 评论 0原文

我需要检测我是否位于 onestepcheckout 页面上。我目前正在使用:

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

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

I need to detect that I am on the onestepcheckout page. I am currently using:

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

But I am wondering if I can get the info from a Magento object?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我是男神闪亮亮 2024-11-05 00:04:04

$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));
    }

因为上面可能会返回一个更完整的 URL 而不是您可以使用的 URI:

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

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

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

The method being called in 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));
    }

Since the above may return a more full URL and not the URI you could use:

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

and get the action name of the controller action being called.

紫轩蝶泪 2024-11-05 00:04:04

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

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

同样,您还可以获取操作名称、模块名称等。

看看这篇文章:- Magento:如何获取控制器、模块、操作和路由器名称?

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

You can check for the controller name in the IF condition.

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

Similarly, you can also get action name, module name, etc.

Have a look at this article:- Magento: How to get controller, module, action and router name?

Hope this helps. Thanks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文