4

Sharepoint Foundation 2010 を使用して、v4.master を編集し、新しい CSS ファイルに ref を追加し、変更を保存して、ホーム サイトに問題なく適用しました。

ただし、サブサイトを作成すると、何らかの刺激的な理由で v4.master の古いバージョンが使用されます。SPS のパブリッシング機能の一部が SPF に含まれていないことを漠然と認識しているため、多くのオンライン アドバイスは適切ではありません (?)

新しいサブサイトに新しい V4.master を継承させる方法があれば、とても感謝しています。

4

4 に答える 4

2

これは、カスタム WSP または HttpModule でのみ可能で、どちらも .NET コードを必要とします。SharePoint のサーバー バージョンは、Masterpage オプションを使用してこれを簡単に処理します。「foundation masterpage solution」を Google ですばやく検索すると、次のような良い結果が得られました。

http://blog.thedesigndrifter.com/?p=1112

http://rickhilferink.wordpress.com/2011/01/25/creating-a-sharepoint-2010-foundation-masterpage-solution-and-automatically-activate-it-for-all-sites-and-newly-created-サブサイト/

于 2011-08-05T02:15:19.393 に答える
0

サブサイトによって継承されるサイトコレクションルートのマスターページを使用できるようにする場合は、公開サイトテンプレートを使用することをお勧めします。

次に、/ _ Layouts / ChangeSiteMasterPage.aspxに移動して、カスタムマスターページを指定し、それをすべてのサブサイトに継承させることができます。

于 2010-11-16T01:57:27.557 に答える
0

これはおそらくあなたに利益をもたらすには遅すぎますが、おそらく他の人に利益をもたらすでしょう. カスタマイズされたマスター ページの名前を v4.master 以外に変更しないと、サブサイトは v4.master のカスタマイズされたバージョンを継承せず、元のカスタマイズされていない v4.master を代わりに使用することがわかりました。そのため、必ず v4.master のコピーを作成して名前を変更してください。[私のブログ投稿] からのいくつかの手順を次に示します。これが私が行った方法です。

  1. v4.master を右クリックして [サイト定義にリセット] を選択すると、元の v4.master が復元され、SPD 2010 によって v4_copy(1).master ページが自動的に作成されます (スクリーンショット 14)。
  2. custom.master をチェックインし、メジャー バージョンを公開し、ファイルを承認する
  3. [サイトの操作] > [サイトの設定] > [マスター ページ] に移動し、サイト マスター ページとシステム マスター ページの両方で新しいマスター ページ custom.master を選択し、[すべてのサブサイトをリセットしてこの代替 CSS URL を継承する] のチェックボックスを選択します (スクリーンショット 15 )
  4. チーム サイト テンプレートを使用して新しいサブサイトの発行機能を有効にするのを忘れた場合、custom.master ページはまだ継承されないため、[サイトの操作] > [サイトの設定] > [サイト機能の管理] に移動し、発行機能を有効にします (スクリーンショット)。 16)
  5. この機能が有効になるとすぐに、新しいマスター ページとそのスタイルが表示されます (スクリーンショット 17)。
于 2011-07-07T21:14:25.200 に答える
0

Visual Studio と SharePoint サイト定義で新しいカスタム サイト定義を作成することで、この問題を解決しました。カスタム マスターページ (v4.master から編集) をサイト コレクションのマスターページ ギャラリー (_catalogs/masterpage) に追加する機能を追加しました。

<Module Name="MasterPageModule" RootWebOnly="FALSE" List="116"  Url="_catalogs/masterpage" >
<File Url="mymasterpage.master" Path="MasterPageModule\mymasterpage.master" IgnoreIfAlreadyExists="TRUE" Type="GhostableInLibrary">
  <Property Name="ContentTypeId" Value="0x010105"/>
</File>  

すべてのサイトで同じマスターページを取得する主な方法は、次のように Default.aspx で MasterPageFile -property を設定することです: MasterPageFile="~sitecollection/_catalogs/masterpage/mymasterpage.master" - これは常に rootsitecollection レベルを参照します。

FeatureActivated-method を使用しても同じことが達成できると思いますが、私の場合はうまくいきませんでした。理由はわかりません。

于 2012-01-11T06:54:41.210 に答える