Frage

Ich portiere derzeit eine intern verwendete SP-Farm-Lösung von 2010 auf 2013 und kämpfe mit dem neuen Konzept von JSLink.

In der Lösung von 2010 hatten wir die überschrieben RenderingTemplate ListForm um ein zu enthalten benutzerdefinierte Schaltfläche zum Speichern und Schließen von uns gebaut.Jetzt mit SP2013 gibt es diese neuen JsLinks, die möglicherweise damit umgehen könnten.

Ich dachte daran, eine Funktion mit einem Ereignisempfänger dahinter zu erstellen, die bei Aktivierung die JSLink-Eigenschaft aller Inhaltstypen im aktuellen Web ändert und unsere eigene Javascript-Datei registriert.

In allen Tutorials / Blogeinträgen, die ich bisher gefunden habe, wird jedoch nur erklärt, "Wie Sie das Rendern Ihres Felds mit JSLink anpassen" und nicht, wie Sie Dinge wie das Erscheinungsbild der Schaltfläche zum Speichern ändern.

Gibt es jemanden, der mir hier helfen könnte?Ich habe schon einen Tag herumgesucht und konnte bisher nichts Nützliches finden.

War es hilfreich?

Lösung

Sie könnten das Ereignis "PostRender" verwenden, um Ihre Javascript-Methode auszuführen, nachdem das Formular vollständig geladen wurde, etwa so:

(function () {
    // Initialize the variable that stores the objects.
    var overrideCtx = {};
    overrideCtx.Templates = {};

    // Assign a function to handle the
    // PostRender events
    overrideCtx.OnPostRender = postRenderHandler;

    // Register the template overrides.
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();

// The postRenderHandler attends the OnPostRender event
function postRenderHandler(ctx) {

    // You can manipulate the DOM in the postRender event
    var ulObj;
    var i, j;

    ulObj = document.getElementById("unorderedlist");

    // Reverse order the list.
    for (i = 1; i < ulObj.children.length; i++) {
        var x = ulObj.children[i];
        for (j = 1; j < ulObj.children.length; j++) {
            var y = ulObj.children[j];
            if(x.innerText<y.innerText){                  
                ulObj.insertBefore(y, x);
            }
        }
    }
}

dies ist ein modifiziertes Beispiel für den hier gefundenen Code http://msdn.microsoft.com/en-us/library/office/jj220045%28v=office.15%29.aspx, erhalten Sie weitere Informationen und weiteren Beispielcode (z. B. Ausrichtung auf bestimmte Ansichten usw.).

Sie können dies weiterhin an ein einzelnes Feld anhängen und durch Ausführen des Postrenders wird dies in allen Renderings einschließlich dieses Felds usw. ausgeführt.

Informationen dazu, wie Sie Ihren JSLink nur auf NewForm oder EditForm ausrichten, finden Sie in dieser anderen Antwort von mir: Anpassen des neuen Formulars.aspx einer Liste mit jslink in SharePoint 2013

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top