1

Umbraco を使用して Web サイトを再作成しようとしています。この Web サイトでは、webroot の外側のノードに保存しているニュース アイテムがあります。

  • コンテンツ
    • ウェブサイト ホーム
      • ニュース
    • ニュースメッセージ
      • メッセージ 1 (2011 年 10 月 10 日作成)
      • メッセージ 2 (2012 年 1 月 15 日作成)

URL パラメーターを使用して、表示するニュース サイトのリストをフィルター処理する、実際のニュース アイテムを表示したいと考えています。

  1. ニュース セクションを表示します:

www.website.com/news

  1. 2011 年のニュース一覧を表示します :

www.website.com/news/ 2011

  1. 2011 年 10 月のニュース一覧を表示します:

www.website.com/news/ 2011/10

  1. メッセージ 1のニュースの詳細を表示します。

www.website.com/news/2011/10/10/メッセージ-1

/Content/Website Home/News の下にすべてのコンテンツ項目を作成しなくても、これを行うことはできますか?

4

2 に答える 2

3

Umbraco 5 jupiter に新しい Area を追加し、Arearegisteration.cs にカスタム ルートを追加できます。Visual Studio Plugin として Sebastiaan Janssen Jupiter によるパッケージがあります。

http://our.umbraco.org/projects/developer-tools/jupiter-as-visual-studio-solution

これを使用して Web アプリを MVC アプリケーションに変換し、Area フォルダーを右クリックして新しい Area を追加すると、VS が残りを処理します。次に、コントローラとカスタム ルートを AreaRegisteration.cs に追加します。たとえば、

context.MapRoute(
"ROUTE",
"/{action}/{year}",
new { controller = "ControllerName" }
);

Url が www.website.com/news/2011 の場合、アクションには news という名前を付ける必要があり、yer はクエリ文字列で渡されます。URL で好きなように再生できます。

お役に立てば幸いです。

シャー

于 2012-04-09T11:27:41.037 に答える
2

これは、Umbraco をそのまま使用することはできません。ただし、これを実現する 1 つの方法は、URL の書き換えを使用することです。パラメータをマクロで読み取ることができるクエリ文字列に書き換えると、目的のニュース項目が表示されます。

そう、

www.website.com/news/2011

...次のように書き換えられます。

www.website.com/news?year=2011

...と

www.website.com/news/2011/10

...次のように書き換えられます。

www.website.com/news?year=2011,month=10

..等々。

「ニュース」ページのマクロは、クエリ文字列からリクエストを読み取り、フィルタリングされた結果を書き出します。

于 2012-04-07T22:56:48.513 に答える