现在的位置: 首页 > 综合 > 正文

理解mojoportal中的layout.Master文件

2013年02月18日 ⁄ 综合 ⁄ 共 3304字 ⁄ 字号 评论关闭
layout.Master是一个ASP.NET MasterPage,是所有内容管理系统页面的模版。站点每个页面的标签都要包含在这个文件中。
layout.Master里面有一些必须的显示数据库内容的标签,还有一些可选的特定标签。除此之外,你可以添加任何你想要在页面显示的标签。你可以在layout.Master文件中摆放标签的位置。
layout.Master中必需的元素
站点没有了这些元素就不能工作,皮肤也需要标准的html head,DOCTYPE,body需要闭合的标签。

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="frmMain" runat="server">
<asp:SiteMapDataSource ID="SiteMapData" runat="server" ShowStartingNode="false" EnableViewState="false" />//为menu提供数据源
<portal:LoginLink id="LoginLink" runat="server" UseLeftSeparator="True" />//登陆链接
<portal:LogoutLink id="LogoutLink" runat="server" UseLeftSeparator="True" />//注销链接
<asp:contentplaceholder ID="pageEditContent" runat="server"></asp:contentplaceholder>//如果当前用户有权限编辑内容,则在页面上显示编辑图标(添加页面,编辑页面属性,编辑页面内容)
<portal:SiteMenu id="SiteMenu1" runat="server" ></portal:SiteMenu>//站点导航
<asp:Panel id="divLeft" runat="server" SkinID="pnlPlain">//左列
<asp:contentplaceholder ID="leftContent" runat="server"></asp:contentplaceholder>
</asp:Panel>
<asp:Panel id="divCenter" runat="server" SkinID="pnlPlain">
<asp:ContentPlaceHolder ID="mainContent" runat="server"></asp:ContentPlaceHolder>//中间列
</asp:Panel>
<asp:Panel id="divRight" runat="server" visible="True" cssclass="rightside">
<asp:contentplaceholder ID="rightContent" runat="server"></asp:contentplaceholder>//右列
</asp:Panel>
</form>
</body>
</html>

如果页面没有内容,内容管理系统会隐藏当前页面没有的左列或右列。系统会对根据左列或右列有没有内容,为divCenter指定一个css。
divCenter 设置为 center-nomargins :左右列没有内容
divCenter 设置为 center-rightandleftmargins :左右列都有内容
divCenter 设置为 center-rightmargin :只有右列有内容
divCenter 设置为 center-leftmargin:只有左列有内容
注意:中间列始终有内容。

推荐使用的页面元素
如果移去这些元素可能会造成一些功能的丢失。你在了解后果和有特殊理由的情况下才能除去他们。

<portal:PageTitle id="PageTitle1" runat="server" />//必需用在title里。在默认情况下显示站点名称-页面名称。你可以在页面设置里更改每个页面的tilte
<portal:StyleSheet id="StyleSheet" runat="server" />//必需用在head里,从当前皮肤得到样式表路径
<portal:MetaContent id="MetaContent" runat="server" />//必需用在head里,可以在管理员站点设置里设定。单独的页面也可以在页面设置里设定。
<portal:Favicon id="Favicon1" runat="server" />//从皮肤文件夹里获取icon的路径
<portal:SiteLogo id="SiteLogo" runat="server"></portal:SiteLogo>//站点图片
<portal:SiteMapLink id="SiteMapLink1" runat="server">//链接到网站地图
<portal:MyPageLink id="MyPageLink1" runat="server">//链接到MyPage图
<portal:SiteTitle id="SiteTitle" runat="server"></portal:SiteTitle>//站点标题
<portal:SkipLink id="SkipLink1" runat="server" />锚点
<portal:WelcomeMessage id="WelcomeMessage" runat="server" UseRightSeparator="False" />//显示登陆信息
<portal:HomeLink id="HomeLink" runat="server" />//首页链接
<portal:SearchInput id="SearchInput1" LinkOnly="True" UseLeftSeparator="True" runat="server" />//搜索框和搜索按钮
<portal:UserProfileLink id="UserProfileLink" runat="server" />//链接到用户资料
<portal:MemberListLink id="MemberListLink" runat="server" UseLeftSeparator="True" />//如果web.config配置了允许任何人查看用户列表,在这个链接会一直显示,否则只有登陆了才能显示。
<portal:RegisterLink id="RegisterLink" runat="server" UseLeftSeparator="True" />//注册链接<portal:Breadcrumbs id="Breadcrumbs" runat="server"></portal:Breadcrumbs>//显示当前页面在导航栏目中的位置
<portal:ChildPageMenu id="ChildPageMenu" runat="server" CssClass="Head"></portal:ChildPageMenu>//如果在页面设置中启用显示子页面目录,当前页面会显示子目录。当该页面仅仅是其他页面的父页面且没有内容时,这个元素就非常有用。
<portal:SkinPreview id="SkinPreview1" runat="server"></portal:SkinPreview >//显示打印预览页面
<portal:PageMenu id="PageMenu1" runat="server">//用来显示当前目录的子目录,如果使用PageMenu,SiteMapDataSource 是必需的。


抱歉!评论已关闭.