19

このURLから「id」の値を取得するMagento関数はありますか:

http://example.com/path/action/id/123

「/」で URL を分割して値を取得できることはわかっていますが、単一の関数を使用したいと思います。

これは機能しません:

$id = $this->getRequest()->getParam('id');

http://example.com/path/action?id=123を使用した場合にのみ機能します

4

3 に答える 3

48

Magento のデフォルトのルーティング アルゴリズムは、3 つの部分のURL を使用します。

http://example.com/front-name/controller-name/action-method

だからあなたが電話するとき

http://example.com/path/action/id/123

単語pathはフロント名でactionあり、コントローラー名でありid、アクション メソッドです。 これらの 3 つのメソッドの後getParam、キーと値のペアを取得するために使用できます

http://example.com/path/action/id/foo/123

//in a controller
var_dump($this->getRequest()->getParam('foo'));

getParamsメソッドを使用して、パラメーターの配列を取得することもできます

$this->getRequest()->getParams()
于 2013-10-06T22:33:18.447 に答える
7

URL が次の構造の場合:http://yoursiteurl.com/index.php/admin/sales_order_invoice/save/order_id/1795/key/b62f67bcaa908cdf54f0d4260d4fa847/

次に使用します:

echo $this->getRequest()->getParam('order_id'); // output is 1795

すべての URL 値またはパラメーター値を取得する場合は、以下のコードを使用します。

var_dump($this->getRequest()->getParams());

URL が次のような場合:http://magentoo.blogspot.com/magentooo/userId=21

次に、これを使用して url の値を取得します

echo $_GET['userId'];

詳細については、ここをクリックしてください

于 2014-01-24T04:50:00.723 に答える
0

Magento モジュールの場合は、Varien Object ゲッターを使用できます。独自のモジュール コントローラー用の場合は、 register メソッドを使用することをお勧めします。

ソース: http://www.vjtemplates.com/blog/magento/register-and-registry

于 2013-10-06T21:53:40.433 に答える