2011-08-01 4 views
3

さらに複雑なレイヤーのURLルールマッチングの構文を使用できますか?モジュールのカスタムルーティングで設定したルールと一致する正規表現タイプのルールに基づいて、表示するレイヤーを選択できるようにしたいと考えています。複合オーチャードレイヤールールのサポート

私はの線に沿って何かをacheiveできるようにしたいと思います:

url('~/my-{\w*}/something/{\w*}') 
+0

「IRuleProvider」ページで実装したコードを私に提供して、私のようなプログラマー以外の人に役立てることができます。 – UiUx

答えて

4

あなたがしたくない場合には(利用できないOOTBだが、カスタムモジュールで自分で実装するのは簡単かもしれませんコアコードを変更してください)。

これは、既存のOrchard.Widgets.RuleEngine.UrlRuleProviderのわずかな変更として実装することができるので、正規表現も考慮に入れます。

IRuleProviderのインプリメンテーションを作成して、関数の名前をたとえば次のように指定します。 'urlregex'(UrlRuleProviderで処理された既存の 'url'と衝突しないように)、Process(RuleContext ruleContext)メソッド内のすべての処理を行います。これは実装が非常に簡単なクラスで、ほんの数行のコードが必要です。最初に述べたデフォルトのURLルールプロバイダを見てみましょう。

+0

ありがとうございます。 –

+0

url( '〜/ {*}/{*}/somepage')のようなurlルールを探していましたが、C#コードを変更する必要があると思います。 – Wollan

関連する問題