18 Temmuz 2011 Pazartesi

Master Pages for WSS 3.0

Herşeyden önce site sayfaları ve web application'ların farklı master page kullandığını aklımızda bulundurmamız gerekir.

Standart master page alttaki klasörde tutulur.

C:\Program Files\Common Files\Microsoft Shared
\web server extensions\12\TEMPLATE\GLOBAL\default.master

Default.master 3 önemli bileşen bulundurur.

  • Linkler için kontrol, menüler, ikonlar ve navigasyon bileşenleri
  • Named placeholders
  • Delegate kontrolleri
Named placeholders master page'e bağlı page template'lere veya page instance'lara benzersiz içerik eklemeyi sağlayan bir mekanizmadır. Delegate kontrolleri default.master sayfasının layout'undaki elementleri değiştirmeyi sağlar.

<%@Master language="C#"%> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, …" %>
<HTML runat="server">
<HEAD runat="server">
<!-- SharePoint Utility Controls --> <SharePoint:CssLink ID="CssLink1" runat="server"/>
<SharePoint:Theme ID="Theme1" runat="server"/>
<!-- Named Placeholders --> <Title ID=onetidTitle>
<asp:ContentPlaceHolder id=PlaceHolderPageTitle runat="server"/>
</Title>
<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/>
<!-- Named Delegate Control -->
<SharePoint:DelegateControl ID="DelegateControl1" runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true"/>
</HEAD>

default.master page'in HEAD elementi standart WSS server-side controllerinin kullanımını gösterir, örneğin CssLink veya Theme. Bu kontroller encapsulate edilerek CSS ile entegresi sağlanır. Ayrıca HEAD elementi iki placeholder tanımlar: PlaceHolderPageTitle ve PlaceHolderAdditionalPageHead. Bunlardan ilki yeni bir template veya özelleştirilmiş sayfa yaratırken sayfanın title'ını değiştirmeye yarar. İkincisi ise HEAD tag'ına daha fazla tag eklemeye yarar.

<%@ Page MasterPageFile="~masterurl/default.master" %>

<asp:Content ID="PageTitle" runat="server"
             ContentPlaceHolderID="PlaceHolderPageTitle">
  My Custom Page Title
</asp:Content>

<asp:Content ID="AdditionalPageHead" runat="server"
             ContentPlaceHolderID="PlaceHolderAdditionalPageHead">
  <META name="keywords" content="Software, Consulting, Money, Fame" />
</asp:Content>

Hiç yorum yok:

Yorum Gönder