質問

私は SharePoint の初心者で、複数レベルのメニューを持つ発行サイトを作成する必要があります。要件は、レベルが固定されていないこと、およびクライアントがページを追加してメニューをカスタマイズできることです。
私の記憶が間違っていなければ、ページはサイトの下の最初のレベルでのみ作成できます。フォルダーの概念のようなものは見当たりません。ナビゲーションの目的で見出しを追加すると、別のレベルとして表示されます。さらにレベルが必要な場合は、サブ サイトを作成する必要があります。

Site
   Page1
   Page2
   Heading
     Page3

これは正しいです?

Site
   Page1
   Page2
   Sublevel_1
     Page1_1
     Sublevel_2
        Page2_1
        Sublevel_3
            Page3_1
         ...

SharePoint サブサイトを作成せずにこのようなことを行うことはできますか?必要がない場合は、カスタム メニュー コントロールの作成をスキップするか、カスタム SiteMapProvider を作成します。ナビゲーションを管理するための UI も記述する必要があります。

編集:
ページリストにフォルダーを作成し、そのフォルダーにページを作成(実際​​に移動)し、さらにサブフォルダーを作成することができましたが、それらはナビゲーション設定ページにもメニューにも表示されません。フォルダーを承認できません。何を試しても保留状態です。

これは不可能のようです アンドリュー・コネル:サブフォルダーは ない MOSS 発行サイトのページ ライブラリでサポートされています

役に立ちましたか?

解決

すぐに使える、発行サイトのナビゲーションを手動で変更できます。

これをより自動化する方法を求めていると思います。残念ながら、PublishingWeb のナビゲーションを変更する方法は、オブジェクト モデルと PublishingWeb.CurrentNavigationNodes オブジェクトを使用することであり、ページの編集/追加/削除時に更新するにはタイマー ジョブまたはその他のメソッドが必要になります。

これは簡単ではないため、ソリューション/機能パッケージを作成する必要があります。もう 1 つの方法は、カスタム ナビゲーション プロバイダーを作成することです。これらのオプションの両方に伴う問題は (実際のコーディングとリリースは別として)、ナビゲーション構造のキャッシュです。ナビゲーション構造を保持するオブジェクトには標準の Web キャッシュを使用しましたが、標準のユーザー ブラウジング (つまり、メニュー コード自体)からナビゲーションの更新を開始するには、スレッドの問題が伴います。

他のヒント

サイト内に複数のドキュメント ライブラリを作成し、そのページをさまざまなライブラリに配置できます。そうすればサブサイトを作成する必要がなくなります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top