我正在尝试将自定义css文件添加到我的网站定义中,但我遇到了一些问题。我已经读过我应该将它们放在12 \ TEMPLATE \ SiteTemplates \ TEMPLATENAME \ Layouts \ 1033 \ STYLE.CSS中 但我无法访问/_outouts/1033/Styles/STYLE.CSS
中的文件我是否需要使用功能添加STYLE.CSS文件?我使用使用此元素文件的功能装订
来进行我的站点定义<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="CustomMasterPages" Url="_catalogs/masterpage" Path="MasterPages" RootWebOnly="FALSE">
<File Url="Custom.master"
Name="Custom.master" Type="GhostableInLibrary" >
<Property Name="ContentType"
Value="$Resources:cmscore,contenttype_masterpage_name;" />
</File>
</Module>
</Elements>
如您所见,我在元素文件中添加了Url:_catalogs / masterpage,我是否需要为样式文件执行类似的操作? 谢谢
答案 0 :(得分:1)
您可以轻松应用css样式表来创建自定义网站定义,而无需编辑母版页或影响整个服务器:
此文件的内容将通过覆盖中定义的类来自定义网站主题 /_layouts/1033/styles/core.css。您未指定的那些类将保持默认定义。
答案 1 :(得分:0)
我会诚实的;几个月以来我一直在使用SharePoint,但我从未对功能 Stapling
感到困扰尝试这样的事情:
<Module Name="CssFiles" Url="Style Library/CSS" Path="CSS" RootWebOnly="FALSE">
<File Url="style.css" Name="style.css" Type="GhostableInLibrary" />
</Module>
...但由于这是一个功能,因此CSS文件应该位于功能文件夹的某个位置。所以,假设我们将此功能命名为“SO.Question”,您希望将这些CSS文件放在'12 \ TEMPLATE \ FEATURES \ SO.Question \ CSS'中。
请注意,css文件需要进入功能文件夹'12 \ TEMPLATE \ FEATURES \ SO.Question'中的'CSS'目录。这必须与Path
的{{1}}属性相对应。如果您将<Module>
属性更改为'RichardIsAwesome',那么您将把文件放在'12 \ TEMPLATE \ FEATURES \ SO.Question \ RichardIsAwesome'中。
答案 2 :(得分:0)
调查WSPBuilder;它将为您提供一个简单的选项,将文件添加到12个配置单元(如果您使用的是Visual Studio)。您无法创建将文件放在_layouts文件夹中的功能。这只能通过创建WSP文件来完成。
您发布的代码将尝试将文件存储在_catalogs / masterpage / ..中,这是'在数据库中'而不是在文件系统上。 (_layouts位于12个配置单元中,因此位于磁盘上)。 这通常不是放置css文件的位置,理查德提到的位置,虽然我更喜欢把12个配置单元中所有站点共享的文件。
功能装订是更改标准网站模板的好方法。