Domanda

Attualmente sto porting di una soluzione di fattoria SP Usato internamente dal 2010 al 2013 e sto lottando con il nuovo concetto di JSLink.

Nella soluzione 2010 avevamo sovrascritto il generacolo RenderingTemplate ListForm per contenere un pulsante di salvataggio personalizzato e chiuso personalizzato costruito da noi.Ora con SP2013 ci sono quei nuovi JSLink che potrebbero eventualmente gestire questo.

Stavo pensando di creare una funzionalità con un ricevitore evento dietro di esso, che quando attivato altera la proprietà JSLink di tutti i contentTypes sul web corrente e registra il proprio file JavaScript.

Comunque tutte le voci di tutorial / blog che ho trovato finora spiega solo "Come personalizzare il rendering del campo con JSLink" e non come cambiare roba come l'aspetto del pulsante Salva.

C'è qualcuno che potrebbe aiutarmi qui?Cercata intorno a un giorno già e non riusciva a trovare nulla di utile finora.

È stato utile?

Soluzione

È possibile utilizzare l'evento "Postrender" per eseguire il metodo JavaScript dopo che il modulo è completamente caricato, qualcosa del genere come:

(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);
            }
        }
    }
}
.

Questo è un esempio modificato del codice qui trovato qui http://msdn.microsoft.com/en-us/library/office/jj220045%28v=Office.15%29.aspx , ottieni maggiori informazioni e qualche altro codice di esempio (perEsempio di riunicazione di visualizzazioni specifiche, ecc.).

È comunque possibile allegare questo a un singolo campo e eseguendo il POSTRENDER che avrai questo esecuzione in tutti i rendering, incluso quel campo ecc.

Per come indirizzare il tuo JSLink a New Forform o EDITForm, vedere questa altra risposta da parte mia: Personalizzazione del Newform.aspx di un elenco utilizzando JSLink in SharePoint 2013

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top