2011-01-28 9 views
0

私はいくつかのSymfonyモジュールに共通のjavascriptを使用しています。現在のモジュールのurl-keyをjavascript変数として出力したいので、javascriptを使用してさまざまなAJAX呼び出しのURLを構築できます。私はそれを得る場所を見つけることができません。symfony - モジュールURLキーを取得

$sf_context->getModuleName(); 

は、モジュール名を返しますが、URLにはどのように表示されますか。私はwindow.locationからモジュール名を解析することができますが、それはちょっと粗末に見えるだけではありませんが、まもなく現在のページを生成したモジュールとは別のモジュールにURLを作成するケースがあります。

現在の(または指定された)モジュールのURLキーを取得するにはどうすればよいですか?確かにそのマッピングはフロントコントローラーに存在します。

答えて

0

あなたがして、現在のモジュールのURL値を取得できます。

$sf_params->get('module'); // in templates 

$request->getParameter('module');  // either this 
$this->getRequestParameter('module'); // or this in the actions 

と私は得ることができなかったものの、他のモジュールにURLをconstuctingために、私は、url_for()を使用することができますモジュールurl-valueだけでこのメソッドを実行します(URL全体を生成します)。

1

URLに書かれている通りの正確な値を得るには、custom routingsを使用できます。 symfonyでは、モジュール名がのurlの変数としてルーティングルールを作成できます。この変数は、あなたが望むものをあなたの行動で利用できるようにします。例えば

app/*yourAppName*/config/routing.yml):あなたが好きなら

the_name_of_your_route: 
    url: thisIsAUrl/:variableYouWantWithWhateverCase 
    param: { module: yourModuleName, action: yourActionName } 

あなたurl: paramがさえそれらにおける正規表現とワイルドカードを持つことができます。

これで、executeYourActionName関数の中に、variableYouWantWithWhateverCaseという名前の変数が、URLに正確にどのように入力されたかという要求に設定されます。

これが役に立ちます。

+0

これは素晴らしい情報ですが、私は現時点でやっていることを少し超えていますが、イズミールです。私はこれが後で非常に有用になるだろうという気持ちを持っていますが、 - ありがとう! – bluescrubbie

関連する問題