2 Stimmen

Hinzufügen einer Spalte, die in einem Sharepoint-Inhaltstyp blättert

Ich erstelle einen neuen Inhaltstyp in Sharepoint.

Ich versuche, eine neue Spalte/ein neues Feld hinzuzufügen, mit dem der Benutzer nach einem "Asset", z. B. einem Bild oder einem Video, das auf der Sharepoint-Website vorhanden ist, suchen kann.

Wie füge ich eine Spalte hinzu, die dem Benutzer die Möglichkeit gibt, zu blättern?

感謝

3voto

Jason Punkte 15739

Sie möchten eine benutzerdefiniertes Feld und stellen Sie Ihre eigene Benutzeroberfläche in der Rendering-Control-Vorlage bereit (siehe unten). Der Einstieg ist recht einfach, aber Sie müssen sich bewusst sein, dass es mehrere bewegliche Teile gibt:

  1. Der Feldtyp/die Wiedergabesteuerung - dies ist ein Objekt, das die Felddefinition kapselt. Es ist dafür verantwortlich, zu verstehen, wie das Feld zur Entwurfszeit (wenn es einer Liste hinzugefügt wird) und zur Laufzeit (wenn es in einem Formular ausgefüllt oder auf einer Listenansichtsseite angezeigt wird) gerendert werden soll und welche Art von Wert das Feld enthält.
  2. Die Laufzeit-UI/Rendering-Control-Vorlage (optional) - dies ist die UI, die angezeigt wird, wenn Ihr Feld neue Werte von einem Benutzer auf der Seite für neue/geänderte Elemente erfasst.
  3. Die Feldwertklasse (optional) - hier wird der Wert gespeichert, den der Benutzer in das Feld eingibt
  4. Die UI/Bearbeitungssteuerung zur Entwurfszeit (optional) - dies ist die UI, die ein Benutzer sieht, wenn er das benutzerdefinierte Feld zu einer Liste hinzufügt

All dies ist in dem oben genannten Link beschrieben. Es gibt viele Blog-Beiträge über die Erstellung benutzerdefinierter Felder.

3voto

Thomas Favrbo Punkte 685

Wie in anderen Antworten erwähnt, sollten Sie eine benutzerdefiniertes Feld für diese Funktionalität. Anstatt die Browse-Funktionalität jedoch selbst zu implementieren, sollten Sie einen Blick auf das AssetUrlSelector-Steuerelement werfen, das im Microsoft.SharePoint.Publishing.WebControls-Namensraum zu finden ist (Sie können das Steuerelement mit der Option .NET-Reflektor Werkzeug).

Wenn Sie das benutzerdefinierte Feld implementieren, können Sie den AssetUrlSelector zum benutzerdefinierten UserControl hinzufügen und ihn sichtbar machen, wenn sich das Feld im Bearbeitungsmodus befindet. Unten sehen Sie ein Beispiel für diesen Ansatz:

<%@ Control Language="C#" %>
<%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="publishing" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<SharePoint:RenderingTemplate ID="CustomFieldControl" runat="server">
  <Template>
    <publishing:AssetUrlSelector id="CustomUrlSelector" runat="server" />
  </Template>
</SharePoint:RenderingTemplate>

Das obige Beispiel zeigt nur, wie man das Steuerelement zum benutzerdefinierten Feld hinzufügt. Stellen Sie sicher, dass Sie das AssetUrlSelector-Steuerelement ausblenden, wenn es sich nicht im Bearbeitungsmodus befindet.

0voto

raklos Punkte 27128

Ich verwendete PublishingWebControls:AssetUrlSelector

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X