深いメニュー構造を備えた SharePoint 2007 発行サイト
-
03-07-2019 - |
質問
私は 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 キャッシュを使用しましたが、標準のユーザー ブラウジング (つまり、メニュー コード自体)からナビゲーションの更新を開始するには、スレッドの問題が伴います。
他のヒント
サイト内に複数のドキュメント ライブラリを作成し、そのページをさまざまなライブラリに配置できます。そうすればサブサイトを作成する必要がなくなります