0

Sitecore にページを追加する必要があります。

  • abc.com/link1?id=1*something=BLABLA
  • abc.com/link2?id=2*something=BLABLA
  • abc.com/linkN?id=N*something=BLABLA

link1上記のすべてのリンクは 1 つのページを表し、このページは, link2...に基づくテンプレートをユーザーに提供しますlinkN

4

3 に答える 3

1

3 つの新しい項目 ( link1 、 link2 、および linkN ) を作成するだけでよいよう思えます。これらのアイテムは、共通のもの (レイアウト、共通/共有コントロールなど) をすべて含む同じ「ベース」テンプレートを共有できます。そこから、それぞれをわずかに変える必要がある場合は、基本テンプレートから継承する各アイテムの新しいテンプレート セットを作成するか (推奨)、各アイテムのプレゼンテーションの詳細を直接変更できます。

つまり、複数のルートとクエリ文字列を受け入れる単一のアイテムが本当に必要な場合は、いくつかのオプションがあります。

  1. アイテムがサイトのルートに存在する場合、単一のアイテムを作成し、そのアイテムにルーティングしたい他の名前のエイリアスを作成できます。たとえば、linkという名前のアイテムは、 link1link2linkNなどのエイリアスを持つことができます 。クエリ文字列は、エイリアスが設定されたすべてのページで機能します。このアプローチを使用すると、説明したように「レイアウト」を変更することはありません。むしろ、レイアウト (または 1 つ以上のサブレイアウト) が利用可能なクエリ文字列に反応し、さまざまなビューや動作を提供します。私はこれをサブレイアウトを「よりスマート」にすることと呼んでいます:)

  2. サイトのルートを超えてルーティングできる、より堅牢なソリューションが必要な場合は、HttpRequest パイプラインで UrlResolver を拡張することを検討してください。

于 2012-09-18T17:37:24.143 に答える
1

これは、サイトコアの学習に役立つリンクでもあります。非常に簡潔に言うと、私の一般的なアプローチは、テンプレートを作成し、コンテンツの下にページを作成し、それを asp.net のものにリンクするレイアウトを割り当てることです。

于 2012-09-18T16:57:02.273 に答える
0

1 つのアイテムを使用して 3 つのリンクすべてを処理する場合は、httpcontext からクエリ文字列を読み取り、クエリ文字列に基づいて実行するワイルドカード アイテムを使用することもできます。

あなたの質問を見て、私の頭に浮かぶもう1つのことは、クエリスティングで何を達成したいですか? 私かもしれませんが、これは joomla (または他の cms) ベースの URL の手法を使用して Sitecore サイトを作成しようとしているように見えます。

于 2012-09-18T18:51:28.100 に答える