サイトマップを使用すると、プレフィックスマッチングで動作する特定のパスを設定し、サブパスの要求を許可することができます。私は指定されたパスの下のすべての要求が特定のテンプレートに行くように指定したいと思います。サイトマップのLocで使用されるテンプレートを定義します
Menu(Loc("show_theme", Link("show" :: "theme" :: Nil, true, "/show/theme"), "Show Theme"))
は/ショー/テーマ/ *(それがないもの)へのすべての要求をキャッチするが、(それはない)
/ショー/テーマでテンプレートを使用してそれらを提供:だから私は希望します/show/theme/1に/ show/theme/1にテンプレートを使用して、その中のスニペットを使用してIDをReqから引き出したいとします。
これは可能ですか?あるいは私は間違ったやり方でやっていますか?現時点では、私は/ show_theme?theme = 1を使用していますが、これはちょっと醜いので、フォームの操作が難しくなります。
EDIT:CGIパラメータを使用してIDをエンコードするのを止めようとしています。それらをパス構造の一部として保持する
OK、それは役に立ちますが、私がしたいことはあまりしません。質問を明確にしようとしました。私はLocが常に1つのページ/テンプレートを表しているとは確信していませんが、プレフィックスが一致すると、任意の数のページ/テンプレートになります。私は単一のテンプレートを使用して任意の数のページに変換したいですが、CGIパラメータは使用しないでください。 –
私が提供したコード例では、URLに実際にクエリパラメータが含まれている必要はなく、/ show/theme/{theme}の部分を大括弧で書き換えてスニペットに関する質問パラメータに見えるようにします。 –
Ooops、私の誤解 - 私は(愚かなことに)リダイレクトを引き起こすと想定しましたが、もちろんそうではありません。最初のリスト( "show" :: "theme" :: theme :: Nil)の終わりにNilを置く必要がありましたが、完璧に動作します、ありがとうございました! –