2009-07-23 12 views
0

お客様は、SharePointアプリケーション用に2つのテーマを提供したいと考えています。 MOSS 2007でこれを達成する戦略はありますか?SharePointでユーザーテーマの切り替えを実装するにはどうすればよいですか?

ユーザープロファイルベースのテーマ選択を適用したい場合や、ドロップダウンを使用してモードを切り替える場合もあります。

+1

AFAIKテーマはユーザーベースではなくサイトベースです。たぶんあなたは、CSSやフライでのものを置き換えるいくつかの野生のJQueryのものを使用することができますが、SharePointはそれをサポートしていないため、私は反対するでしょう。 –

+0

ありがとうToni。これは私が疑ったものですが、これを前に試してみたいと思っています...最適ではない解決策は、異なるテンプレートを使用して並列サイトを実行し、リダイレクトを提供することです。 – paulwhit

答えて

1

私はあなたのリ・テーマをどの程度広げたいのか分かりません。ただし、CSSのみの場合は、この方法を使用することができます。

  1. さまざまなテーマのCSSファイルをスタイルライブラリに保存します。

  2. ユーザーと選択したテーマを格納するリストを作成します。

  3. ユーザーがテーマを変更できるように機能を作成し、custom application pageを作成します。

  4. リストを現在のユーザーと照合し、スタイルライブラリ内の対応するCSSファイルへの参照を取得するコントロールを作成します。コントロールは、CssRegistrationCssLinkコントロールをこのファイルのページに出力します。

  5. このコントロールをマスターページに追加すると、すべてのページで実行されます(キャッシングを追加する必要があります)。

あなただけのCSSを変更しているとして、これは、マイクロソフトでサポート可能ではないでしょうなぜ私が見ることができません。

これ以上の処理が必要な場合は、HTML出力を変更するHTTPモジュールを作成することもできます。もちろんJavaScriptです。これらの2つのオプションを使用すると、サポートの問題が発生する可能性があります(変更の程度によって異なります)。

+1

これは良いアイデアのように聞こえるが、SharepointのHTMLとCSSを見てみると、ちょっとしたボールでカールして、前後に揺れ動く。 ...そしてサイトの別の部分を見ると、やはり完全に異なった形になります。 –

+0

SharePointのマークアップが嫌なのは事実です。しかし、あなたのためにそれを解読するのに役立つCSSリソースがあります:http://www.heathersolomon.com/content/sp07cssreference.htm。また、MOSS公開サイトを使用している場合、より多くの制御/より簡単なマークアップがあります。 –

+0

私はCSS以上のものが必要ですが、これは徹底的な答えです。ありがとう。 – paulwhit

0

ここでは、私が研究やフィードバックから思いついたオプションがあります。どちらもほとんど実現不可能と思われる。

  • JavaScriptの主なUIレイアウトの変更を実装します。これにより、クライアントの速度が低下し、コード化が困難になり、後続のSharePointパッチで変更されるSharePointオブジェクトを参照する必要があるため、Microsoftによって完全にサポートされなくなります。

  • 同じデータに基づいて2つのパラレルテーマサイトを提供し、それらを切り替える手段を提供します。これは、各サイトを複数の場所に展開する必要があり、サイト作成メカニズムをコードで再構築する必要があります(1つではなく2つのサイトを対象にする必要があるため)。あなたが試すことができます

0

一つ別の事は、あなたがそれを与える、あなたは修正のビットで欲しいものをアーカイブするために同じコード・ロジックを使用することができる機能として実装されていること、codeplexからテーマチェンジャーとThemeChangerStapleを使用することですCustomActionを使用するユーザーのオプションとして使用します。

1

また、BjørnFuruknapからCodeplexで入手できるSPThemesもあります。ユーザーは独自のテーマを選択でき、異なるスコープで適用することができます。

+0

cool!それをチェックする – paulwhit

関連する問題