none
Sharepoint 2013, Scriptlink et Token ~language RRS feed

  • Question

  • Bonjour,

    J'ai un problème similaire à celui qui est ici : https://social.msdn.microsoft.com/Forums/fr-FR/c5fbce7a-e6fc-4c25-8541-79d64f6f1edd/localisation-des-fichiers-javascript-dans-sharepoint-2010?forum=sharepointfr
    (J'ai posé ma question à la fin du thread, mais comme il est marqué comme résolu, je n'ai pas eu de réponse).

    Je suis sur l'intégration d'un site multilangue sur Sharepoint 2013 avec les features de publications d'activées.

    j'essaye de localiser des fichiers Javascript de localisation pour certaines librairies tierces que j'utilise.

    J'utilise donc cette appel dans un de mes layout :

    <SharePointWebControls:ScriptLink ID="jqueryUiLocalJs" runat="server" Name="~sitecollection/Style Library/Common_Lib/js/~language/datepicker.js" Language="javascript" Localizable="false" />

    Ce qui est étrange, c'est que le token ~language n'est pas interprété alors que ~sitecollection est bien interprété.

    Le token ~language fonctionne très bien sur "CssRegistration" et je ne voit pas pourquoi il ne fonctionne pas sur "ScriptLink"

    Auriez-vous une idée ?


    • Modifié RiiGii mercredi 22 avril 2015 06:09
    mercredi 22 avril 2015 06:08

Réponses

  • Bonjour,

    Voici la référence pour les Jetons de remplacement https://msdn.microsoft.com/fr-ca/library/office/ms431831.aspx

    Le ~sitecollection fonctionne car il est utilisé au début tel que décrit dans la section : Jetons peuvent être utilisés au début d'une URL

    Il n'y a pas de ~language dans la section Jetons pouvant être utilisés dans une URL. 

    Il y a effectivement une référence concernant l'utilisation du ~language sur le CssRegistration ici : 

    https://msdn.microsoft.com/en-us/library/office/dn266906.aspx

    Le seul autre endroit ou j'ai vu un Jeton pour la langue est au niveau des Apps : {Language}

    https://msdn.microsoft.com/en-us/library/office/jj163816.aspx

    Sinon pourquoi ne utiliser un Script Tag au lieu du ScriptLink ?

    Ex : 

    var lcid = SP.Res.lcid;
    
    var fileTag = "<script src='" + LCID + "/test.js' type='text/javascript' ><\/script>";
    
    document.write(fileTag);

    Sources :

    https://tommdaly.wordpress.com/2010/12/16/scriptlink-vs-whats-the-difference/

    http://sharepoint.stackexchange.com/questions/6915/get-the-current-ui-language-with-ecmascript

    http://stackoverflow.com/questions/19023826/dynamic-creation-of-script-tag-and-src-load-of-it-is-not-working-in-ie10

    Samuel Levesque | http://sharepointerie.com | SVP utiliser le bouton "Marquer comme réponse" sur les réponses qui vous aide car cela permet aux personnes qui peuvent rencontrer le même problème que vous, de retrouver rapidement quelle est la réponse qui a résolu leur problème. De plus, cela encourage aussi la personne qui a répondu à votre question, à répondre aux suivantes...




    jeudi 23 avril 2015 04:58

Toutes les réponses

  • Bonjour,

    Voici la référence pour les Jetons de remplacement https://msdn.microsoft.com/fr-ca/library/office/ms431831.aspx

    Le ~sitecollection fonctionne car il est utilisé au début tel que décrit dans la section : Jetons peuvent être utilisés au début d'une URL

    Il n'y a pas de ~language dans la section Jetons pouvant être utilisés dans une URL. 

    Il y a effectivement une référence concernant l'utilisation du ~language sur le CssRegistration ici : 

    https://msdn.microsoft.com/en-us/library/office/dn266906.aspx

    Le seul autre endroit ou j'ai vu un Jeton pour la langue est au niveau des Apps : {Language}

    https://msdn.microsoft.com/en-us/library/office/jj163816.aspx

    Sinon pourquoi ne utiliser un Script Tag au lieu du ScriptLink ?

    Ex : 

    var lcid = SP.Res.lcid;
    
    var fileTag = "<script src='" + LCID + "/test.js' type='text/javascript' ><\/script>";
    
    document.write(fileTag);

    Sources :

    https://tommdaly.wordpress.com/2010/12/16/scriptlink-vs-whats-the-difference/

    http://sharepoint.stackexchange.com/questions/6915/get-the-current-ui-language-with-ecmascript

    http://stackoverflow.com/questions/19023826/dynamic-creation-of-script-tag-and-src-load-of-it-is-not-working-in-ie10

    Samuel Levesque | http://sharepointerie.com | SVP utiliser le bouton "Marquer comme réponse" sur les réponses qui vous aide car cela permet aux personnes qui peuvent rencontrer le même problème que vous, de retrouver rapidement quelle est la réponse qui a résolu leur problème. De plus, cela encourage aussi la personne qui a répondu à votre question, à répondre aux suivantes...




    jeudi 23 avril 2015 04:58
  • Merci pour ta réponse

    J'ai effectivement fini par utiliser une balise Script classique, le jeton ~language devait fonctionner sur Sharepoint 2010 comme cela est décrit dans le post que je fournie, mais comme je n'ai pas testé sur un 2010, je ne sait pas.

    Par contre, je ne suis pas fan de la création de balise via du JS, je trouve que SharePoint est déjà excessivement lourd à exécuter coté client surtout quand tu doit garder une compatibilité IE8, mais ce n'est qu'un avis ;)

    PS: Je préfères utiliser Scriptlink car je reste dans un contexte natif de Sharepoint.



    • Modifié RiiGii jeudi 23 avril 2015 06:04
    jeudi 23 avril 2015 06:02