Freigeben über


Hochladen von Webparts in SharePoint

Stellen Sie vorkonfigurierte SharePoint-Standardwebparts für Ihre Benutzer bereit.

Gilt für: SharePoint 2013 | SharePoint-Add-Ins | SharePoint Online

Sie können vorkonfigurierte SharePoint-Standardwebparts hochladen, die Benutzer ihren SharePoint-Seiten hinzufügen können. Sie können z. B. die folgenden vorkonfigurierten Elemente hochladen:

  • Ein Skript-Editor-Webpart, das JavaScript-Dateien für das Remoteweb verwendet.

  • Ein Webpart für Inhaltssuche.

In diesem Artikel wird die Vorkonfiguration des Skript-Editor-Webparts für die Verwendung von JavaScript-Dateien im Remoteweb behandel, um die Benutzeroberflächenanpassung auszuführen. Verwenden Sie diese Lösung für die folgenden Aufgaben:

  • Verwenden von Skriptdateien aus dem Remoteweb in Ihren Webparts, anstatt auf Skripts aus der Liste Websiteobjekte im Hostweb zu verweisen.

  • Bereitstellen vorkonfigurierter Webparts in Ihrem benutzerdefinierten Websitebereitstellungsprozess. Als Teil Ihres benutzerdefinierten Bereitstellungsprozesses für Websites können Sie dem Benutzer beispielsweise Informationen zu den Richtlinien für die Nutzung der Website anzeigen, wenn eine neue Website erstellt wird.

  • Automatisches Laden gefilterter Inhalte für Benutzer in Ihren Webparts. Ihre Skriptdatei kann beispielsweise lokale Nachrichteninformationen anzeigen, die aus einem externen System gelesen wurden.

  • Zulassen, dass Benutzer ihrer Website zusätzliche Funktionen hinzufügen können, indem sie Webparts aus dem Webpartkatalog verwenden.

Bevor Sie beginnen

Laden Sie zunächst das Beispiel-Add-In Core.AppScriptPart aus dem Office365 Developer Patterns and Practices-Projekt auf GitHub herunter.

Verwenden des Core.AppScriptPart-Add-Ins

Wenn Sie das Codebeispiel ausführen und Run Szenario (Szenario ausführen) auswählen:

  1. Wählen Sie Zurück zur Website aus.

  2. Wählen Sie SEITE>Bearbeiten>EINFÜGEN>Webpart aus.

  3. Wählen Sie unter Kategorien die Option Add-in Script Part aus, und wählen Sie dann Benutzerprofilinformationen aus.

  4. Wählen Sie Hinzufügen aus.

  5. Wählen Sie in der Dropdownliste in der oberen rechten Ecke des Webparts Benutzerprofilinformationen die Option Webpart bearbeiten aus.

  6. Wählen Sie CODEAUSSCHNITT BEARBEITEN aus.

  7. Überprüfen Sie das Element <SCRIPT>.

    Beachten Sie, dass das src-Attribut mit einer JavaScript-Datei im Remoteweb verknüpft ist. Das Element <SCRIPT> wird von der Content-Eigenschaft in Core.AppScriptPartWeb\userprofileinformation.webpart festgelegt, wie im folgenden Beispiel gezeigt. Die JavaScript-Datei, mit der über das Attribut src eine Verknüpfung besteht, ist "Core.AppScriptPartWeb\Scripts\userprofileinformation.js". "Userprofileinformation.js" liest die Profilinformationen des aktuellen Benutzers aus dem Benutzerprofildienst und zeigt diese Informationen dann im Webpart an.

    Hinweis

    Der Code in diesem Artikel wird wie besehen und ohne jegliche Garantie zur Verfügung gestellt, gleich ob ausdrücklich oder konkludent, einschließlich jedweder stillschweigenden Gewährleistung der Eignung für einen bestimmten Zweck, Marktgängigkeit oder Nichtverletzung von Rechten.

<property name="Content" type="string">&amp;lt;script type="text/javascript" src="https://localhost:44361/scripts/userprofileinformation.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;div id="UserProfileAboutMe"&amp;gt;&amp;lt;div&amp;gt;
</property>
  1. Wählen Sie Abbrechen aus.

  2. Wählen Sie Speichern aus.

Hinweis

Wenn Ihr Benutzerprofilbild nicht angezeigt wird, öffnen Sie Ihre OneDrive for Business-Website und kehren dann zum Hostweb zurück.

In "Core.AppScriptPartWeb\Pages\Default.aspx" führt Run Scenario (Szenario ausführen) BtnScenario_Click aus, um die folgenden Aktionen auszuführen:

  1. Abrufen eines Verweises auf den Ordner Web Part Gallery.

  2. Verwenden von FileCreationInformation zum Erstellen der Datei "userprofileinformation.webpart" zum Hochladen aus dem vom Anbieter gehosteten Add-In in den Webpartkatalog. Die folder.Files.Add-Methode fügt die Datei dem Webpartkatalog hinzu.

  3. Abrufen aller Listenelemente aus dem Webpartkatalog und anschließendes Suchen nach "userprofileinformation.webpart".

  4. Wenn "userprofileinformation.webpart" gefunden wird, Zuweisen des Webparts zu einer benutzerdefinierten Gruppe mit dem Namen Add-in Script Part.

protected void btnScenario_Click(object sender, EventArgs e)
        {
            var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                var folder = clientContext.Web.Lists.GetByTitle("Web Part Gallery").RootFolder;
                clientContext.Load(folder);
                clientContext.ExecuteQuery();

                // Upload the "userprofileinformation.webpart" file.
                using (var stream = System.IO.File.OpenRead(
                                Server.MapPath("~/userprofileinformation.webpart")))
                {
                    FileCreationInformation fileInfo = new FileCreationInformation();
                    fileInfo.ContentStream = stream;
                    fileInfo.Overwrite = true;
                    fileInfo.Url = "userprofileinformation.webpart";
                    File file = folder.Files.Add(fileInfo);
                    clientContext.ExecuteQuery();
                }

                // Update the group that the Web Part belongs to. Start by getting all list items in the Web Part Gallery, and then find the Web Part that was just uploaded.
                var list = clientContext.Web.Lists.GetByTitle("Web Part Gallery");
                CamlQuery camlQuery = CamlQuery.CreateAllItemsQuery(100);
                Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(camlQuery);
                clientContext.Load(items);
                clientContext.ExecuteQuery();
                foreach (var item in items)
                {
                    // Create new group.
                    if (item["FileLeafRef"].ToString().ToLowerInvariant() == "userprofileinformation.webpart")
                    {
                        item["Group"] = "add-in Script Part";
                        item.Update();
                        clientContext.ExecuteQuery();
                    }
                }

                lblStatus.Text = string.Format("add-in script part has been added to Web Part Gallery. You can find 'User Profile Information' script part under 'App Script Part' group in the <a href='{0}'>host web</a>.", spContext.SPHostUrl.ToString());
            }
        }

Siehe auch