如何从Magento Admin区域获取给定路径的Module / Controller / Action?

时间:2012-11-12 05:00:15

标签: magento

我正在我的模块中本地扩展Mage_Core_Controller_Varien_Router_Standard以访问其match()方法,但当然,从Magento管理员处理它与前台商店的处理方式不同。

在我浪费时间研究这个之前,是否有一种简单的方法可以正确填充Mage_Core_Controller_Request_Http / Zend_Controller_Request_Http的实例,并在正常的前端(读取:非管理员)页面加载(即类别页面,搜索页面,cms页面),但是基于路径的管理区域(假设给定的商店)?

理想情况下,它看起来像:

/** @var $request Zend_Controller_Request_Http */
$request = Mage::getModel('namespace_module/foo')->getHttpRequestByPath($uri, $store);

注意:在示例中,store是可选的,'$ uri'类似于:

  • www.store.com /
  • www.store.com/faq
  • www.store.com/foo/category/mens
  • www.store.com/bar/product/xyz

不寻找黑客,但不介意朝正确的方向推。我正在使用Magento EE 1.11。

1 个答案:

答案 0 :(得分:1)

Mage::app()->getRequest()将返回Mage_Core_Controller_Request_Http。从那里你可以调用类似的方法:

->getControllerName();
->getActionName();

使用admin商店时,我假设store_id为Mage_Core_Model_App::ADMIN_STORE_ID

这是你想要达到的目标,还是你有不同的目标?