我已经到了在我的模块中本地扩展 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。