5

私たちの Umbraco サイトの 1 つが少し乱雑になってきており、URL に影響を与えずにページをフォルダーにグループ化する方法があるかどうか疑問に思っていました。たとえば、ホームページの下にいくつかのトップ レベル セクション、いくつかのフッター リンク、およびその他のさまざまなシステム ページがあるとします。フッター ページをフッター フォルダーに、システム ページをシステム フォルダーにグループ化したいのですが、すべての URL が /footer/page1、system/contact などになるのは望ましくありません。

これを行う良い方法はありますか?

4

1 に答える 1

11

答えは 2 つあります。まず、web.config で「ルート フォルダを非表示」オプションをオンにします。次に、URL の一部を形成することなく、ルートに好きなだけフォルダを作成できます。

umbracoHideTopLevelNodeFromPath 最上位のコンテンツ アイテムを URL パスから除外します。たとえば、これは True に事前設定されているため、次のようになります。

[Content]Home = /home.aspx または /home/

[Content]Home\Projects = /projects.aspx または /projects/

[Content]Footer\Page1 = /page1.aspx または /page1/

[Content]Home\Projects\About = /projects/about.aspx または /projects/about/

http://our.umbraco.org/wiki/reference/webconfig

次に、すべての umbraco ノードに 4 つの「非表示」リダイレクト フィールド (ドキュメント タイプに追加できます) があり、URL ルーティングを変更できます。

  • umbracoRedirect (コンテンツ ピッカー) - Umbraco は選択したページにリダイレクトします
  • umbracoInternalRedirectId (コンテンツ ピッカー) - Umbraco は、URL を変更せずに選択したページを読み込みます
  • umbracoUrlName (テキスト文字列) - Umbraco はページのデフォルト URL を上書きします
  • umbracoUrlAlias (テキスト文字列) - 同じページに複数の URL を設定できます (これがいつ役立つかはわかりません)

したがって、あなたのシナリオでは、umbracoUrlName は、結合されたフォルダー内のページを選択しますが、選択した URL を使用すると思います。

だからあなたは持っています

homepage 
|- footer
   |-page1 (umbracoUrl = "/footer-page1/")

および /footer-page1/ は、フッター フォルダーに保存されているページをレンダリングします。

ハッキングして umbracoRedirect と umbracoInternalRedirectId を機能させることもできますが、それが役立つかどうかはわかりません。

于 2013-05-12T19:01:03.950 に答える