SharePoint:向网站定义添加自定义样式

时间:2010-01-17 14:07:44

标签: sharepoint sharepoint-2007

我正在尝试将自定义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,我是否需要为样式文件执行类似的操作? 谢谢

3 个答案:

答案 0 :(得分:1)

您可以轻松应用css样式表来创建自定义网站定义,而无需编辑母版页或影响整个服务器:

  1. 创建一个.css sylesheet(很棒的css参考:Heather Solomon
  2. 将.css文件存储在网站上
  3. 导航到网站操作&gt;网站设置
  4. 在“外观”下,选择“母版页”
  5. 在Alternate CSS URL部分中,选择“指定此发布网站使用的CSS文件以及从中继承的所有网站”
  6. 浏览网站上的文件位置
  7. 单击“确定”以应用
  8. 此文件的内容将通过覆盖中定义的类来自定义网站主题 /_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个配置单元中所有站点共享的文件。

功能装订是更改标准网站模板的好方法。