1

モジュール内で 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 を使用しています。

4

1 に答える 1

1

Mage::app()->getRequest()戻りMage_Core_Controller_Request_Httpます。そこから、次のようなメソッドを呼び出すことができます。

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

管理ストアを操作するときは、store_id をMage_Core_Model_App::ADMIN_STORE_ID.

これはあなたが達成しようとしていたことですか、それとも別の目標を念頭に置いていますか?

于 2012-11-12T20:27:46.340 に答える