Actualización de una página maestra existente a la página maestra de SharePoint Foundation

Última modificación: lunes, 02 de agosto de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Controles de la cinta de Server
Adición de marcadores de posición de contenido
Adición de la cinta de Server
Mantener la posición de la cinta de Server al desplazarse
Adición de controles a la página maestra

Se han realizado cambios importantes en la interfaz de usuario (UI) de Microsoft SharePoint Foundation 2010, entre los que se incluyen la adición de la Cinta de Server. De manera predeterminada, la página v4.master incluye la Cinta de Server. Muchos de los comandos que anteriormente se encontraban en los menús y las barras de herramientas ahora existen dentro de la Cinta de Server. Como resultado, si la página maestra existente no contiene la Cinta de Server, muchos comandos no estarán disponibles. En este tema se muestra cómo agregar la Cinta de Server y cualquier control o marcador de posición de contenido necesario para que una página maestra existente se represente correctamente en SharePoint Foundation 2010.

Requisitos previos

Microsoft SharePoint Foundation 2010

Controles de la cinta de Server

Algunos controles que anteriormente se incluían en la página maestra predeterminada se han movido ahora a la nueva UI de la Cinta de Server. Puesto que estos controles ahora existen dentro de la Cinta de Server, si va a actualizar una página maestra existente con funcionalidad de la Cinta de Server, debe quitar los controles siguientes de la página maestra existente. Estos controles se agregarán cuando incorpore la Cinta de Server en la página maestra.

  • Consola de publicación - <PublishingConsole:Console>

  • Menú acciones del sitio - <PublishingSiteAction:SiteActionMenu>

  • Control de inicio de sesión y de acceso

Nota importanteImportante

Si usa un control de inicio de sesión, puede desplazar el control hacia dentro o fuera de la Cinta de Server, según su diseño.

Adición de marcadores de posición de contenido

Debe asegurarse de que existen los nuevos controles ContentPlaceHolder para actualizar la página maestra a fin de que sea compatible con SharePoint Foundation 2010. En la tabla siguiente se detallan todos los marcadores de posición requeridos para actualizar la página maestra para que sea compatible con SharePoint Foundation 2010.

Nota importanteImportante

El marcador de posición PlaceHolderTitleAreaClass ahora está en la etiqueta head. Cualquier personalización que agregue un WebPartZone en una etiqueta de contenido a este marcador de posición causará un error en la página.

Control de marcador de posición

Descripción

Nuevo

<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchTop" runat="server">

Parte superior del menú Inicio rápido.

<asp:ContentPlaceHolder id="PlaceHolderQuickLaunchBottom" runat="server">

Parte inferior del menú Inicio rápido.

<asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server"/>

Título del sitio.

No

<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/>

Un marcador de posición en la sección del encabezado de la página que se usa para agregar componentes adicionales como ECMAScript (JavaScript, JScript) y hojas de estilos en cascada (CSS) en la página.

No

<asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat="server"/>

La clase del área del cuerpo.

No

<asp:ContentPlaceHolder ID="SPNavigation" runat="server">

Un control que se usa para controles de edición de página adicionales.

No

<asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server">

El nombre del sitio donde reside la página actual.

No

<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />

El título de la página, que aparece en el área de título de la página.

No

<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server"/>

La descripción de la página actual.

No

<asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">

La sección de la página para los controles de búsqueda.

No

<asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server">

El control de ruta de navegación en la página.

No

<asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server">

El texto de ruta de navegación para el control de ruta de navegación.

No

<asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server">

La lista de subsitios y sitios del mismo nivel en la navegación global de la página.

No

<asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">

El contenedor que se usa para sostener la barra de navegación superior.

No

<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">

El menú de navegación dentro de la barra de navegación superior.

No

<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" runat="server" />

La colocación del origen de datos que se usa para rellenar la barra de navegación izquierda.

No

<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat="server" />

El selector de fecha que se usa cuando hay un calendario visible en la página.

No

<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" runat="server"/>

La sección superior de la barra de navegación izquierda.

No

<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server">

La barra Inicio rápido.

No

<asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat="server">

Los objetos adicionales situados por encima de la barra Inicio rápido.

No

<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server">

El contenido principal de la página.

No

<asp:ContentPlaceHolder id="PlaceHolderFormDigest" runat="server">

El contenedor donde se almacena el control de síntesis de formulario de página.

No

<asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>

El contenido adicional en la parte inferior de la página. Está fuera de la etiqueta form.

No

<asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat="server"/>

La clase del área del título. Ahora está en la etiqueta head. Cualquier personalización que agregue un WebPartZone en una etiqueta de contenido a este marcador de posición causará un error en la página.

No

<asp:ContentPlaceHolder id="PlaceHolderPageImage" runat="server"/>

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderTitleLeftBorder" runat="server">

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderMiniConsole" runat="server"/>

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderTitleRightMargin" runat="server"/>

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderTitleAreaSeparator" runat="server"/>

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderNavSpacer" runat="server">

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarBorder" runat="server">

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderBodyLeftBorder" runat="server">

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

<asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server">

Este marcador de posición no aparece como parte de la UI y debe estar presente para la compatibilidad con versiones anteriores.

No

Adición de la cinta de Server

La Cinta de Server es una nueva característica de la UI de SharePoint Foundation. Los controles SPRibbonPeripheralContent de la página v4.master incluyen contenido que se presenta dentro del área de la Cinta de Server. Este contenido puede desplazarse fuera de la Cinta de Server si así lo desea. En el procedimiento siguiente se muestra el código para agregar la Cinta de Server a la página.

Para agregar la cinta de Server

  1. Abra el archivo de página maestra (.master).

  2. Copie y pegue el código siguiente dentro de la etiqueta form para agregar la Cinta de Server.

    Nota importanteImportante

    En el siguiente ejemplo de código se incluyen secciones con comentarios donde se copian y pegan controles desde la página maestra personalizada o desde la página v4.master. Cualquier control ContentPlaceholder dentro de la sección Navegación global debe agregarse en otro lado de la página si no se agrega dentro de la Cinta de Server.

    <div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">
      <div id="s4-ribboncont">
        <SharePoint:SPRibbon
         runat="server"
         PlaceholderElementId="RibbonContainer"
         CssFile="">
          <SharePoint:SPRibbonPeripheralContent
      runat="server"
      Location="TabRowLeft"
      CssClass="ms-siteactionscontainer s4-notdlg">
         <%-- Insert the Site Actions Menu Here --%>
         </SharePoint:SPRibbonPeripheralContent>
    
         <%-- Insert the Global Navigation Here --%>
         <SharePoint:SPRibbonPeripheralContent
           runat="server"
           Location="TabRowRight"
           ID="RibbonTabRowRight"
           CssClass="s4-trc-container s4-notdlg">
         <%-- Insert the Top-Right Corner Controls Here --%>
         </SharePoint:SPRibbonPeripheralContent>
    
        </SharePoint:SPRibbon>
      </div>
      <div id="notificationArea" class="s4-noti">
        <%-- Notifications will appear in this div element. --%> 
      </div>
      <asp:ContentPlaceHolder ID="SPNavigation" runat="server">
        <SharePoint:DelegateControl runat="server" ControlId="PublishingConsole">
        </SharePoint:DelegateControl>
      </asp:ContentPlaceHolder>
      <div id="WebPartAdderUpdatePanelContainer">
        <asp:UpdatePanel
         ID="WebPartAdderUpdatePanel"
         UpdateMode="Conditional"
         ChildrenAsTriggers="false"
         runat="server">
            <ContentTemplate>
              <WebPartPages:WebPartAdder ID="WebPartAdder" runat="server" />
            </ContentTemplate>
            <Triggers>
              <asp:PostBackTrigger ControlID="WebPartAdder" />
            </Triggers>
        </asp:UpdatePanel>
      </div>
    </div>
    
  3. Guarde el archivo de página maestra.

Mantener la posición de la cinta de Server al desplazarse

Al agregar la Cinta de Server, realice los cambios siguientes en la página maestra para evitar que la Cinta de Server se desplace con la página.

Para mantener la posición de la cinta de Server mientras se desplaza

  1. Desplace el contenido del sitio dentro de los siguientes elementos "div".

    Nota importanteImportante

    Se requiere el elemento div s4-workspace en escenarios de edición. Si este elemento no existe, se producirá un error de script.

    <div id="s4-workspace">
      <div id="s4-bodyContainer">
        Content
      </div>
    </div>
    

    Nota

    Si la página es de ancho fijo, agregue la clase s4-nosetwidth al elemento "div" de s4-workspace. El elemento "div" actualizado tendrá la apariencia siguiente. <div id="s4-workspace" class="s4-nosetwidth">

  2. Desplace el área del título del sitio a un elemento "div" con el identificador siguiente.

    <div id="s4-titlerow"> 
      Title Area
    </div>
    
  3. Actualice la etiqueta body y la regla de hoja de estilos en cascada (CSS) para que no haya desplazamiento. La etiqueta body y la regla tendrán un aspecto similar al siguiente.

    <body scroll="no" ...>
      Body Content
    </body>
    
    body { overflow: hidden; ... }
    

Adición de controles a la página maestra

Hay un conjunto de controles que son necesarios para que SharePoint Foundation funcione. Se trata de los controles SPPageManager, ScriptManager y ScriptLink.

El control SPPageManager administra las comunicaciones en la página. Este control se ocupa del enrutamiento de los comandos desde y hacia la Cinta de Server, las barras de herramientas y otros controles de la página.

El objeto ScriptManager es un control Microsoft ASP.NET que sirve para administrar todo el ECMAScript (JavaScript, JScript) de la página. Debido al uso extendido de JavaScript en SharePoint Foundation, debe tener una instancia de ScriptManager en la página.

El control ScriptLink es necesario para controlar la adición de referencias a JavaScript en la página. Este control representa un vínculo a JavaScript en la página.

Para agregar controles a la página

  1. Abra el archivo de página maestra.

  2. Copie y pegue el código siguiente para agregar el control ScriptManager en la página. Debe estar dentro de la etiqueta form pero antes de la Cinta de Server.

    <asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />
    
  3. Copie y pegue el código siguiente para agregar el control SPPageManager en la página. Debe estar dentro de la etiqueta head.

    <SharePoint:SPPageManager runat="server" />
    
  4. Copie y pegue el código siguiente para agregar el control ScriptLink en la página. Debe estar dentro de la etiqueta head.

    <SharePoint:ScriptLink defer= "true" runat="server"/>
    
  5. Guarde el archivo de página maestra.

Vea también

Conceptos

Páginas maestras