none
Peux-on utiliser plusieurs rendu JSLink dans la même liste? RRS feed

  • Discussion générale

  • Bonjour, 

    J'ai créé une liste personnalisée. La vue par défaut est définie ainsi :

    <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" ... Url="AllItems.aspx"> <Toolbar Type="Standard" /> <XslLink Default="TRUE">main.xsl</XslLink> <JSLink>xxxxx/jslink/suivi_clienttemplate.js</JSLink> <RowLimit Paged="TRUE">30</RowLimit> <ViewFields>
    ...

    comme vous pouvez le constater, j'utilise un CSR personnalisé qui ne fait que changer le lien du menu 'nouvel élément'.

    Cette liste a aussi une colonne personnalisée utilisant un CSR:

    <Field Type="Text" DisplayName="xxxx" Name="xxxx" Group="XXX" JSLink="~sitecollection/xxxxx/js/suivi_rendering.js" ID="{F475275A-A4A0-4A68-AC6E-DB39F5450029}"/>

    Si j'utilise l'un ou l'autre tout marche très bien. Mais combinés ensemble dans la même vue. La colonne n'est pas 'rendu'.

    Le template est bien enregistré. Mais la fonction de rendu n'est jamais appelée.

    (function () {
        if (typeof SPClientTemplates === 'undefined') return;
        var siteCtx = {};
        siteCtx.Templates = {};
        siteCtx.Templates.Fields = { 'xxx': { 'View': SuiviView } };
        SPClientTemplates.TemplateManager.RegisterTemplateOverrides(siteCtx);
    })();
    
    function SuiviView (ctx) {
        // jamais appelé si la vue utilise un JSLink personnalisé !!
    }

    Si je remet le lien par défaut dans la vue (à savoir <JSLink>clienttemplate.js</JSLink>), la colonne est rendue correctement, mais mon lien garde le comportement par défaut.

    Bref, existe t-il des incompatibilités dans les rendus CSR? Y-a t-il un détail que j'aurai omis?

    Merci pour vos éclairages.

    lundi 2 février 2015 12:25

Toutes les réponses