0

今日、サンドボックス ソリューションを使用して、SharePoint 2010 でカスタム サイト テンプレートのプレビュー イメージを設定する際に問題が発生しました。

チーム サイト テンプレートを使用し、Elements.xml ファイルの ImageURL にアイコン イメージを指定しました。そのサンドボックスとして、サイト コレクションのスタイル ライブラリ内に画像ファイルを保存しています。私の質問は、サイト コレクション スタイル ライブラリに存在する画像 URL の相対 URL を指定する方法です。

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<WebTemplate BaseConfigurationID="0" 
           BaseTemplateID="1"
           BaseTemplateName="STS"
           Subweb="FALSE"
           Name="WTTeamSite"
           Title="Team site"
           Description="Create a Team site"
           ImageUrl="/Style Library/img/site-icon.png"
           DisplayCategory="Custom" /> 
</Elements>

たとえば、完全なURLを指定http://wsdl:3333/sites/Corporate/Styles Library/img/site-icon.pngすると機能します。しかし、[../../Styles Library/img/site-icon.png] または [../Styles Library/img/site-icon.png] または [~sitecollection/Styles Library/img] のような相対 URL を指定すると、 /site-icon.png] または [Styles Library/img/site-icon.png] または [/Styles Library/img/site-icon.png] は機能しません。相対 URL を使用してこのプレビュー イメージを機能させる方法。

注:レイアウトフォルダーはサンドボックスソリューションでなければならないため、使用できません。ありがとう。

4

1 に答える 1

0

問題は、URL の参照方法にあると思います。

相対 URL がある場合、参照は webapp レベルからの相対です。例えばhttp://wsdl:3333/

したがって、指定した URL を使用して、相対 URL が必要な場合は、ImageURL は次のようになります。

/sites/Corporate/Styles Library/img/site-icon.png

URL が「適切」であることを確認するために、サイトのロゴを変更し、[テストするにはここをクリック] リンクをクリックしてテストを実行します。

ここで、URL がサイト コレクションに応じて変更されるというサンドボックス ソリューションの欠点と、URL が変更されない "/_layouts/Images" マップ フォルダーにアクセスできるファーム ソリューションの利点に遭遇します。

私が使用した可能な回避策は、イメージをルート サイトに配置するか、"Resources" などと呼ばれる静的なサイト コレクションを作成して、グローバル アクセスが必要なものを配置することであり、それは既知の URL です。 .

于 2013-11-08T22:19:47.823 に答える