1

私がやりたいことは、マスターページの要素を非表示にするクライアント用のMOSSの特殊なインスタンスに取り組んでいます。特に、メインのトップ ナビゲーション バー、検索機能、および表示しているサイトの名前を示す左上隅に表示されるラベルを非表示にしたいと考えています。そのため、default.master のコピーを作成し、SP Designer で、これらのブロックのプレースホルダーの可視属性を新しいマスター ファイルで「false」に設定しました。

その後、マスターを通常のサイト コレクションに問題なく割り当てることができ、思いどおりに機能しているようです。しかし、システム ページ (つまり、フォームやバックエンドのもの) を見に行くと、まだ古いデフォルト マスターを使用しています。システム マスター ページをカスタマイズしたマスター ファイルに設定しようとすると、MOSS インスタンスが File Not Found エラーをスローしました。次に、管理領域の特定の部分が同じように失敗し始めました (つまり、[サイトの設定] -> [コンテンツと構造] に移動しようとすると、ファイルが見つかりませんというエラーがスローされます)。その後、ある時点で、サイト コレクション全体が「不明なエラー」をスローすると、開発目的で MOSS を実行している VM の状態を元に戻す以外に、回復する方法がないように見えました。

カスタム マスター ページを作成し、そのページの要素を非表示にする最良の方法は何ですか? 私の Web クラスタには実際の ASP エラー メッセージを実際に表示するための適切なフラグが設定されていないことに気付きました。そのため、今夜家に帰って SP がこれらすべてについて実際に何を伝えているかを確認するときに変更します。また、application.master ファイルの変更は推奨されていないことも読みましたが、サイト マスター ページとシステム マスター ページのカスタム ページを作成すれば、application.master について心配する必要はないと考えました。ヘザー・ソロモンの記事やその他のさまざまなものを読んでいます。彼らは基本的に、マスターページの要素を非表示にしても問題ないと言っていますが、そうするとSPが壊れるので、それらを完全に削除しないでください。JS/CSS ハックを使用して要素を手動で非表示にすることをお勧めします。

4

2 に答える 2

2

visible 属性を false に設定して asp:placeholder を作成し、そのコンテナに非表示にする contentplaceholder を配置します。奇妙ですが、動作します... system.master については、おそらくコピーを作成する必要がありますSharePoint が使用する system.master を同じ方法で変更します。

于 2009-09-25T14:38:11.683 に答える
1

これを投稿していただきありがとうございます。魅力のように機能します。Application.Master をいじるなとみんなが言うので、とても怖かったです。メモ帳で開いて Visible="false" を追加するだけでした (default.master のコードによって制御されるユーザーのアクセス許可に応じて表示されるカスタム タブがあるため、トップナビゲーション バーを非表示にしたかったのですが、ユーザーがファイルをアップロードする必要があり、upload.aspx は application.master を使用し、すべてのタブが表示されます)。

この行のみを編集しました:

wssuc:TopNavBar id="IdTopNavBar" runat="server" ShouldUseExtra="true" Visible="false"

魔法のように動作します!

次のページも影響を受けることに注意してください。 サイトの設定 すべてのサイト コンテンツの表示 ドキュメント ライブラリのワークフロー設定 ごみ箱の検索結果

于 2011-02-24T22:49:14.237 に答える