如何使用Sandbox Solution在SharePoint 2010中设置自定义网站模板的预览图像

时间:2013-03-25 16:06:31

标签: image sharepoint-2010 sandbox preview

今天我遇到了一个问题,使用Sandbox解决方案在SharePoint 2010中设置自定义网站模板的预览图像。

我使用了Team网站模板,并在Elements.xml文件中的ImageURL中给出了Icon图像。作为其沙盒,我将图像文件存储在网站集样式库中。我的问题是如何为网站集样式库中提供的图像网址提供相对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>

如果我提供完整的网址,例如: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 / site-icon.png]或[样式库/ img / site-icon.png]或[/样式库/img/site-icon.png]不起作用。如何使用相对URL使此预览图像工作。

注意:我不能使用layouts文件夹,因为它必须是沙箱解决方案。 感谢。

1 个答案:

答案 0 :(得分:0)

我认为问题在于您引用网址的方式。

如果您有相对URL,则该引用与Web应用程序级别相关。 例如http://wsdl:3333/

因此,使用您提供的网址,如果您需要相对网址,您的ImageURL将是:

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

要验证您是否拥有“良好”的网址,我希望通过更改网站徽标并点击“点击此处测试”链接来运行测试。

这是您遇到沙盒解决方案的缺点,其中URL根据网站集进行通信,以及使用访问“/ _layouts / Images”映射文件夹的服务器场解决方案的优势,其中URL不会变化

我使用过的一种可能的解决方法是将图像放在根网站上,或者拥有一个名为“资源”的静态网站集,或者其他东西,在这里您可以放置​​需要全局访问的内容,而且它是一个已知的URL。