XML de la cinta de Server

Última modificación: lunes, 07 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

En el siguiente tema se describe el XML de la Cinta de Server y se explican los valores usados para los atributos.

Tutorial de XML de la Cinta de Server

    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition 
          Location="Ribbon.Tabs._children">
          <Tab 
            Id="Ribbon.CustomTabExample" 
            Sequence="501" 
            Description="My New Tab" 
            Title="My New Tab">

El atributo Location del elemento CommandUIDefinition define dónde se representarán los controles dentro de este. En este ejemplo, se hace referencia a la colección Tabs de la Cinta de Server. La convención _children indica a la cinta de opciones que inserte el siguiente XML en el resultado para representar la cinta de opciones. En este caso, se inserta el XML del elemento Tab. El atributo Sequence define dónde se representará la ficha en relación con las otras fichas. Las fichas predeterminadas usan múltiplos de 100, por lo que el atributo Sequence no debe ser múltiplo de 100 para evitar colisiones. Estas deben evitarse para garantizar una administración correcta del XML de la cinta de opciones.

            <Scaling
              Id="Ribbon.CustomTabExample.Scaling">
              <MaxSize
                Id="Ribbon.CustomTabExample.MaxSize" 
                GroupId="Ribbon.CustomTabExample.CustomGroupExample" 
                Size="OneLargeTwoMedium"/>
              <Scale 
                Id="Ribbon.CustomTabExample.Scaling.CustomTabScaling"
                GroupId="Ribbon.CustomTabExample.CustomGroupExample" 
                Size="OneLargeTwoMedium" />
            </Scaling>

Al crear una ficha personalizada, debe definir cómo se escalará la ficha al agregar controles. Esto se controla mediante el uso del elemento Scaling junto con GroupTemplate. El elemento MaxSize define el tamaño máximo de los controles del grupo. El elemento Scale define cómo se escalará el grupo en situaciones diferentes. El atributo GroupId asocia un grupo con el tamaño de la escala. Al atributo Size lo define el elemento Layout, que se define más adelante en este tema.

            <Groups Id="Ribbon.CustomTabExample.Groups">
              <Group 
                Id="Ribbon.CustomTabExample.CustomGroupExample" 
                Description="This is a custom group!" 
                Title="Custom Group" 
                Sequence="52" 
                Template="Ribbon.Templates.CustomTemplateExample">
                <Controls Id="Ribbon.CustomTabExample.CustomGroupExample.Controls">
                  <Button 
                    Id="Ribbon.CustomTabExample.CustomGroupExample.HelloWorld" 
                    Command="CustomTabExample.HelloWorldCommand" 
                    Sequence="15" 
                    Description="Says Hello to the World!" 
                    LabelText="Hello, World!" 
                    TemplateAlias="cust1"/>

El elemento Groups define los grupos que aparecerán en la ficha. El elemento Group propiamente dicho tiene atributos similares a otros controles junto con un atributo Template. El atributo Template hace referencia a la GroupTemplate que se define más adelante en este tema. El elemento Controls contiene los controles que se representarán en el grupo. Los tipos aceptables de controles se definen en Arquitectura de la cinta de Server. Los controles que se encuentran dentro del grupo deben definir los atributos TemplateAlias y Command. Al igual que las fichas, cada control tiene un atributo Sequence que define dónde se representarán en el grupo. Los controles predeterminados se basan en múltiplos de 10, por lo que los controles personalizados no deben usar múltiplos de 10 para evitar colisiones. El atributo Command lo usa el elemento CommandUIHandler, pero es obligatorio aunque CommandUIHandler no esté especificado. El atributo TemplateAlias define dónde se representará el control en relación con la GroupTemplate.

          <GroupTemplate Id="Ribbon.Templates.CustomTemplateExample">
            <Layout 
              Title="OneLargeTwoMedium" 
              LayoutTitle="OneLargeTwoMedium">
              <Section Alignment="Top" Type="OneRow">
                <Row>
                  <ControlRef DisplayMode="Large" TemplateAlias="cust1" />
                </Row>
              </Section>
              <Section Alignment="Top" Type="TwoRow">
                <Row>
                  <ControlRef DisplayMode="Medium" TemplateAlias="cust2" />
                </Row>
                <Row>
                  <ControlRef DisplayMode="Medium" TemplateAlias="cust3" />
                </Row>
              </Section>
            </Layout>
          </GroupTemplate>

Al definir una plantilla de grupo, debe definir otro elemento CommandUIDefinition. El elemento CommandUIDefinition tiene una ubicación de Ribbon.Templates._children. Este es el mismo patrón que se usa para los grupos y las fichas.

El elemento GroupTemplate contiene un elemento Layout que contiene elementos Section u OverflowSection. El elemento Layout tiene un atributo Title que se usa para el atributo Size en los elementos MaxSize y Scale.

El elemento Section tiene dos atributos. El atributo Alignment define dónde se posicionarán los controles en los siguientes elementos Row. El atributo Type define la cantidad de filas que se representarán dentro de esa sección. Un elemento Section tiene un máximo de 3 elementos Row.

El elemento Row contiene uno o varios elementos ControlRef. Cada elemento ControlRef define cómo se representará cada control en la cinta de opciones. El atributo DisplayMode tiene los siguientes valores.

Nota de precauciónPrecaución

No todos los controles tienen todos los valores DisplayMode disponibles.

Valor

Descripción

Pequeño

Representa un icono pequeño sin texto de etiqueta.

Mediano

Se representa como un icono de 16 x 16 con texto de etiqueta.

Grande

Se representa como un icono de 32 x 32 con texto de etiqueta.

Texto

Se representa como solo texto.

También puede tener un elemento OverflowSection en lugar de un elemento Section. Este elemento define un área donde pueden representarse varios controles sin que sean necesarios los elementos Row. Todos los controles representan el mismo tamaño definido por el atributo DisplayMode. Los atributos DividerAfter y DividerBefore definen dónde aparece el divisor cuando se representa la sección de desbordamiento.

Al agregar controles a las ubicaciones predeterminadas de la cinta de opciones, debe tener en cuenta la plantilla de grupo y el escalado. La adición de un control a las ubicaciones predeterminadas puede alterar la representación del grupo. La mayoría de las plantillas de grupo predeterminadas contienen secciones de desbordamiento que crecen con los controles personalizados. En escenarios más avanzados, puede invalidar el escalado para representar los controles según sea necesario para el diseño.

      <CommandUIHandlers>
        <CommandUIHandler 
          Command="CustomTabExample.HelloWorldCommand" 
          CommandAction="javascript:alert('Hello, world!');" />
        <CommandUIHandler 
          Command="CustomTabExample.GoodbyeWorldCommand" 
          CommandAction="javascript:alert('Good-bye, world!');" />
        <CommandUIHandler 
          Command="CustomTabExample.LoveWorldCommand" 
          CommandAction="javascript:alert('I love you, world!');" />
      </CommandUIHandlers>
    </CommandUIExtension>

El elemento CommandUIHandlers contiene todos los elementos CommandUIHandler. Los elementos CommandUIHandler definen cómo responderán a una acción los controles de la cinta de opciones. El atributo Command es un nombre único del comando usado junto con el atributo Command definido con los controles. El atributo CommandAction contiene la acción que se realiza para el control. Puede ser ECMAScript (JavaScript, JScript), una dirección URL o cualquier cosa que se haya incluido anteriormente en un elemento UrlAction.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction 
    Id="MyCustomRibbonTab" 
    Location="CommandUI.Ribbon.ListView" 
    RegistrationId="101" 
    RegistrationType="List"> 
    ...
  </CustomAction>
</Elements>

Al personalizar la cinta de opciones, se usa un elemento CustomAction junto con el XML de la cinta de opciones. Para obtener más información sobre las acciones personalizadas, vea Acción personalizada. El atributo Location indica a CustomAction dónde aplicar la personalización. En la tabla siguiente se explican los valores.

Valor

Descripción

CommandUI.Ribbon

La personalización aparece en todos los lugares del elemento RegistrationId especificado.

CommandUI.Ribbon.ListView

La personalización aparece cuando está presente el elemento web de vista de la lista.

CommandUI.Ribbon.EditForm

La personalización aparece en el formulario de edición.

CommandUI.Ribbon.NewForm

La personalización aparece en el formulario nuevo.

CommandUI.Ribbon.DisplayForm

La personalización aparece en el formulario de presentación.

Vea también

Conceptos

Personalización declarativa de la cinta de Server

Ubicaciones predeterminadas de las personalizaciones de la cinta de Server

Arquitectura de la cinta de Server

Esquema de la cinta de opciones del servidor