当前位置: 首页 > news >正文

MOSS 2007基础:WSS 3.0 中的母版页(Master Pages)和内容页(Content Pages)

原文地址:http://robgarrett.com/cs/blogs/software/archive/2006/07/03/2065.aspx
这篇很短的文章展示了ASP.NET2.0中的母板页和内容页在Windows SharePoint Services v3.0中的应用。WSS 3.0 是在ASP.NET 2.0 的基础上实现的,所以WSS 3.0中母板页/内容页也是基于ASP.NET 2.0中的相应功能而实现站点定制的。网上已经有很多介绍ASP.NET2.0中母版页的文章了。下面提供的链接来源与MSDN,个人认为是一篇介绍ASP.NET 2.0中母版页组成结构的很好的入门文章。
http://msdn.microsoft.com/msdnmag/issues/04/06/ASPNET20MasterPages/
全局母版页
母版页允许多级嵌套。所有在sharepoint中的站点都使用default.master这个母版页。这个文件位于C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\GLOBAL这个目录下。这个default.master母版页是全局母版页。任何对该页面的修改将影响所有的sharepoint站点,而且会影响管理中心站点。
在Sharepoint Designer中编辑母版页
SharePoint Designer是原来的FrontPage的替代工具。SPD(就是sharepoint designer)允许网站设计者以可视化的设计界面定制sharepoint站点的外观和样式。当我们打开一个sharepoint站点,SPD的左上方会列出站点的结构。这个sharepoint站点里面包括的文件夹,列表,模板和页面一目了然。我们要找的母版页位于以下路径:_catalogs/masterpage/default.master
在设计视图中查看站点的母版页,在XHTML标记中指定了全局母版页。在我们对其做编辑之前,实际上所有的这个指向都指到同一个页面。但当我们编辑并保存后,SPD会在SharePoint的数据库中为我们保存一个定制后的母版页版本。这和SharePoint 2003中的页面定制机制(或者叫un-ghosting)是一样的。当一个页面被定制后,之前的ghosting关系就被断掉了。即不会在指向磁盘文件系统中的某个文件,而是在数据库中保存了该页面的定制后版本。
注意:在对站点的母版页做了改动后,这个改动将影响站点下所有的页面。但在_layouts目录下的页面除外。因为这些页面实际上不是站点内的页面,它们使用了一个不同的母版页(实际上也放在_layouts目录下)。这类页面的一个典型的例子就是“网站设置”页面。
SPD可以允许我们将已经定制过的页面恢复成原来的模板指定的状态。这是我们在FrontPage时代梦寐以求的一个功能。在定制后的页面文件上点击右键,在上下文菜单中就包括了这个选项。
内容页面
Sharepoint里的内容页在页面声明中使用MasterPageFile属性指定了其使用的母版页。典型的默认母版页的URL地址为~masterurl/default.master。其中的~masterurl指定了该站点的母版页的存放位置,所有的这些都是又sharepoint控制的。在sharepoint的母版页中定义了许多占位符(content placeholder)。这些占位符定义了页面的不同区域,开发人员可以定制占位符最终显示给用户的内容。SharePoint中定义的占位符中多数并不允许用户重写其内容。
多数的sharepoint页面都包括了PlaceHolderMain这个占位符,它控制了页面的主要内容部分。典型情况下,该占位符将包括一个web部件区域,用来拖webpart进去。但对于开发人员来说,我们可以用来放置我们想要放的任何东西。
下面的表格列出了sharepoint的母版页中定义的占位符:(详细位置请对照default.master)

占位符的Name

描述

PlaceHolderAdditionalPageHead

需要写在页面<head>标签里的附加内容,如引用的脚本或样式文件

PlaceHolderBodyAreaClass

附加在页面顶部的body中的样式

PlaceHolderBodyLeftBorder

页面body的边框元素

PlaceHolderBodyRightMargin

页面body的右边距

PlaceHolderCalendarNavigator

在页面中有日历时为其显示一个日期选择框

PlaceHolderFormDigest

这是页面中必备的 "form digest"安全组件

PlaceHolderGlobalNavigation

站点导航

PlaceHolderHorizontalNav

导航标签

PlaceHolderLeftActions

左侧导航区下面的动作区

PlaceHolderLeftNavBar

左侧导航区

PlaceHolderLeftNavBarBorder

左侧导航区的边框元素

PlaceHolderLeftNavBarDataSource

左侧导航区菜单的数据源

PlaceHolderLeftNavBarTop

左侧导航区上面的导航区

PlaceHolderMain

页面主体

PlaceHolderMiniConsole

一个放置页面级命令的地方,比如在WIKI站点里的Edit Page, History, Incoming Links

PlaceHolderNavSpacer

左侧导航区的宽度

PlaceHolderPageDescription

页面描述区

PlaceHolderPageImage

页面左上的图标

PlaceHolderPageTitle

页面的<Title>,通常显示在浏览器的标题栏

PlaceHolderSearchArea

搜索框

PlaceHolderSiteName

站点名称

PlaceHolderTitleAreaClass

TitleArea附加的样式

PlaceHolderTitleAreaSeparator

TitleAreaSeparator区

PlaceHolderTitleBreadcrumb

TitleBreadcrumb区

PlaceHolderTitleInTitleArea

Breadcrumb区下面的标题

PlaceHolderTitleLeftBorder

Title区左侧边框

PlaceHolderTitleRightMargin

Title区右侧空白

PlaceHolderTopNavBar

标签导航区

PlaceHolderUtilityContent

页面底部需要的一块特殊内容

SPNavigation

在 Windows SharePoint Services中默认为空,用于附加的页面编辑控件

WSSDesignConsole

页面编辑控件,当页面进入编辑页面模式时使用(当我们点 Site Actions, Edit Page后)

相关文章:

  • recyclerview嵌套recyclerview_阿里3轮面试都问了RecyclerView
  • 更改某用户个人网站的配额设置
  • python语音录音_同时从麦克风录制音频并用python播放
  • 隐藏自定义列表中的某些栏
  • python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件
  • python去除视频中的logo_视频去水印神器(Easy Video Logo Remover)
  • MOSS 2007基础:内容类型(Content Type)
  • python 第三方包自动导入_Python第三方包的导入
  • SharePoint高级内容--访问群体对象模型的开发之一
  • php soap 两个版本_zabbix-第一章-第三节 LNMP之PHP搭建
  • SharePoint高级内容--访问群体对象模型的开发之二
  • 批量修改的后台代码_如何用WordPress自带的批量编辑功能修改文章分类目录?
  • postman压力测试_如何用Postman做接口自动化测试?
  • 编程访问“我的网站”中的目标链接门户列表
  • 你觉得外观模式和代理模式的联系和区别是什么?_清华毕业大牛带你深入研磨并掌握23种设计模式,总计6.17G...
  • [PHP内核探索]PHP中的哈希表
  • AngularJS指令开发(1)——参数详解
  • extjs4学习之配置
  • JavaScript创建对象的四种方式
  • leetcode-27. Remove Element
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • MySQL的数据类型
  • ng6--错误信息小结(持续更新)
  • PHP变量
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • SegmentFault 2015 Top Rank
  • vuex 学习笔记 01
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 使用API自动生成工具优化前端工作流
  • 手机端车牌号码键盘的vue组件
  • 学习Vue.js的五个小例子
  • 一个完整Java Web项目背后的密码
  • ionic入门之数据绑定显示-1
  • 阿里云API、SDK和CLI应用实践方案
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #mysql 8.0 踩坑日记
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $$$$GB2312-80区位编码表$$$$
  • ${ }的特别功能
  • (1)(1.11) SiK Radio v2(一)
  • (2.2w字)前端单元测试之Jest详解篇
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (rabbitmq的高级特性)消息可靠性
  • (八)Flask之app.route装饰器函数的参数
  • (备忘)Java Map 遍历
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (层次遍历)104. 二叉树的最大深度
  • (二)linux使用docker容器运行mysql
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • . Flume面试题