Freigeben über


Gewusst wie: Anpassen des Dokumentenmappen-Menübands

Letzte Änderung: Mittwoch, 7. Juli 2010

Gilt für: SharePoint Server 2010

Das Dokumentenmappenfeature weist eine eigene Menüband-Registerkarte auf. In diesem Thema wird erläutert, wie Sie dem Dokumentenmappen-Menüband eine Schaltfläche hinzufügen. Durch das Hinzufügen einer Schaltfläche zum Menüband schaffen Sie die Grundlage für das Implementieren von Funktionen, die das Menüband zum Ausführen bestimmter Aktionen verwenden.

Verwenden Sie zwei XML-Dateien zum Erstellen der Menübandschaltfläche. Speichern Sie diese Dateien im Ordner Features (der standardmäßig im Ordner Programme\Gemeinsame Dateien\Microsoft shared\web server extensions\14\template\features gespeichert ist) in einem eigenen Ordner. Benennen Sie diesen Ordner addzipribbon. Die beiden Dateien Element.xml und Feature.xml definieren die Elemente der Menübandanpassung bzw. der Featureregistrierung.

Es kann sein, dass die Benutzer keine einzelne Dateien, sondern alle Inhalte einer Dokumentenmappe herunterladen möchten. Dokumentenmappen verwenden ein Exportframework, um Dokumentenmappen mithilfe des Befehls Senden an an die Inhaltsorganisation zu senden. Sie können das Exportframework jedoch auch zum Exportieren von ZIP-Dateien verwenden, damit sie von Benutzern heruntergeladen werden können. Dazu erstellen Sie eine DLL-Datei, die das Dokumentenmappen-Objektmodell verwendet.

Erstellen und Hinzufügen einer Schaltfläche

  • Erstellen Sie die Datei Element.xml.

    Element.xml

    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <CustomAction
        Id="Ribbon.Documents.DocsetZip"
        Title="Download Document Set as ZIP"
        RegistrationType="ContentType"
        RegistrationId="0x0120D520" 
        Location="CommandUI.Ribbon"
        >
        <CommandUIExtension>
          <CommandUIDefinitions>
            <CommandUIDefinition
              Location="Ribbon.ManageDocumentSet.MDS.Manage.Controls._children"> 
      <Button
    Id="Ribbon.ManageDocumentSet.MDS.Manage.Controls.DownasZip"
                        Sequence="20"
                        Command="Ribbon.ManageDocumentSet.MDS.Manage.DownZip"
                        Alt="Download as ZIP"
                        Image16by16="/_layouts/images/zipfile16x.png"
                        Image32by32="/_layouts/images/zipfile32x.png"
                        LabelText="Download as ZIP file"
        ToolTipTitle="Download as ZIP file"
        ToolTipDescription="Compress the document set and download"
        TemplateAlias="o1"
    />
            </CommandUIDefinition>
          </CommandUIDefinitions>
          <CommandUIHandlers>
            <CommandUIHandler
              Command="Ribbon.ManageDocumentSet.MDS.Manage.DownZip"
              CommandAction="javascript:__doPostBack('DownloadZipDelegateEvent', '')" />
          </CommandUIHandlers>
        </CommandUIExtension>
      </CustomAction>
    </Elements> 
    

    RegistrationID sollte die ID des Dokumentenmappen-Inhaltstyps sein, in dem diese Menübandschaltfläche angezeigt werden soll. 0x0120D520 ist die Basis-ID des Dokumentenmappen-Inhaltstyps. Diese Menübandschaltfläche wird in allen Dokumentenmappen-Inhaltstypen angezeigt.

    Location gibt die Menüband-Registerkarte der Dokumentenmappe an.

    Image16by16 und Image32by32 verweisen auf Bilder, die im Ordner /_layouts/images auf dem Server gespeichert sind. Sie können eigene Bilddateien angeben.

    LabelText, ToolTipTitle und ToolTipDescription sind Textzeichenfolgen, die für den Menübandtitel und für QuickInfos verwendet werden.

    CommandAction gibt an, welche Aktion mit der Menübandschaltfläche ausgeführt wird. In diesem Beispiel verwendet ECMAScript (JavaScript, JScript) ein PostBack-Ereignis in DownloadZipDelegateEvent.

    Feature.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <!-- _lcid="1033" _version="14.0.3427" _dal="1" -->
    <!-- _LocalBinding -->
    <!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
    <Feature xmlns="https://schemas.microsoft.com/sharepoint/" 
    Id="{CC06B38F-B9AB-4227-841C-DC9F438345A7}"
    Title="Add new button"
    Description="Add new button to ribbon" 
    Version="1.0.0.0"
    Scope="Web"
    Hidden="TRUE">
        <ElementManifests>
            <ElementManifest Location="element.xml" />
        </ElementManifests>
    </Feature>
     
    

    Nachdem Sie diese Dateien dem Ordner hinzugefügt haben, aktivieren Sie das Feature durch Ausführen der folgenden Befehle.

    stsadm.exe –o installfeature –filename adddocsetribbon\feature.xml
    stsadm.exe –o activatefeature –filename adddocsetribbon\feature.xml –url "http://<server>"
    

    Ersetzen Sie http://<server> durch den Webspeicherort, in dem Sie das Feature aktivieren möchten. Navigieren Sie nach der Installation des Features zu einer Dokumentenmappe, und klicken Sie auf die Menüband-Registerkarte der Dokumentenmappe, um die Schaltfläche anzuzeigen.

Herunterladen der Dokumentenmappe als ZIP-Datei

  1. Verwenden Sie das Microsoft.Office.DocumentManagement.DocumentSets-Objektmodell zum Erstellen eines Delegierungsereignisses, mit dem das aktuelle SPList-Element und die Dokumentenmappe abgerufen werden. In diesem Beispiel wird das MyRibbonDelegate-Ereignis verwendet.

    using System;
    using Microsoft.SharePoint;
    using Microsoft.Office.DocumentManagement.DocumentSets;
    using System.Web.UI.WebControls;
     
    namespace MyRibbonDelegate
    {
        public class MyRibbonDelegateClass : WebControl
        { 
            protected override void OnLoad(EventArgs e)
            {
                this.EnsureChildControls();
                base.OnLoad(e);
    if (this.Page.Request["__EVENTTARGET"] == "DownloadZipDelegateEvent")
                {
    SPListItem currentItem = SPContext.Current.ListItem;
    DocumentSet currentDocset = DocumentSet.GetDocumentSet(currentItem.Folder);
    this.Page.Response.ContentType = "application/zip";
    currentDocset.Export(this.Page.Response.OutputStream, 1024);
    this.Page.Response.End();
                }
            }
        }
    }
    
    

    Wenn das Ziel für das Seitenanforderungsereignis mit dem Delegierungsereignis identisch ist, wird der Code ausgeführt, und das aktuelle SPListItem-Element und die Dokumentenmappe werden abgerufen. Die Export()-Methode für die Dokumentenmappe wird mit dem OutputSteam-Parameter für die Seite aufgerufen und angegeben, womit die Dateien in der Dokumentenmappe abgerufen werden. Für den Export gibt es einen zweiten Parameter, nämlich ein auf 1024 festgelegtes int-Element. Durch Festlegen von int in Schritten von 1024 können Sie den Wert in MB angeben, der exportiert werden kann. Wenn in der Dokumentenmappe mehr als 1 GB an Dateien vorhanden ist, wird für das Ereignis ein Fehler gemeldet.

  2. Klicken Sie auf die im ersten Verfahren erstellte benutzerdefinierte Schaltfläche, um diesen Code aufzurufen. Ein Dialogfeld wird angezeigt, in dem Sie aufgefordert werden, die Dokumentenmappe zu öffnen oder als ZIP-Paket zu speichern.

Siehe auch

Konzepte

Dokumentenmappen

Verwalten von Dokumenten