Existe-t-il une meilleure façon de modifier Elements.xml lors de la création d’un ruban personnalisé ?
-
10-12-2019 - |
Question
Je crée mon propre bouton de ruban personnalisé en utilisant Cet article comme référence.Mon code dans le fichier Elements.xml
ça ressemble à ceci :
<CommandUIHandler
Command="NewRibbonButtonCommand"
CommandAction="javascript: MULTIPLE
LINES
OF
JAVASCRIPT
CODE">
Existe-t-il une meilleure façon de modifier le code JavaScript dans CommandAction
attribut, tel qu'il aurait IntelliSense au moins pour les objets JavaScript de base comme document
?Pour l'instant, j'utilise XML Editor qui est assez basique.D'autres éditeurs comme Source Code Editor et HTML Editor n'aident pas non plus.Même la boîte à outils est vide lorsque je modifie Elements.xml
et je ne parviens pas à déterminer pour quelles balises toutes les balises sont disponibles Elements.xml
.
J'utilise Visual Studio 2012.
La solution
Oui, c'est un problème assez courant.Quelle que soit la manière dont vous essayez de modifier votre code, il sera difficile à lire, déboguer, gérer et mettre à jour lorsqu'il est écrit à l'intérieur. elements.xml
.
Je sais que cette question concerne l'éditeur lui-même, mais parfois il est préférable d'écrire votre code JavaScript dans un autre .js
fichier et utilisez uniquement la référence dans CommandAction
.Vous pouvez charger votre script de plusieurs manières à partir d'une action personnalisée XML :
- Écrivez une autre action personnalisée avec
ScriptLink
emplacement.Avantages - facile à utiliser, inconvénients - il sera chargé sur chaque page de votre champ d'action personnalisé (site, Web, etc.). Montre-moi comment c'est fait. - Utiliser Script à la demande (SOD) technique pour charger votre script dynamiquement depuis l'intérieur
CommandAction
scénario.SOD peut vous apporter de la magie, car il peut charger votre script uniquement lorsque l'onglet du ruban est ouvert et vous pouvez ainsi gagner en performances. Montre-moi la "bible" de SOD
Pourquoi cette façon est meilleure.Lorsque votre code JavaScript n'est pas présent elements.xml
mais dans les fichiers externes et vous devez mettre à jour votre code dans JavaScript, c'est beaucoup plus facile.Vous n'aurez pas besoin de mettre à jour vos actions personnalisées, il vous suffit simplement de mettre à jour vos fichiers JavaScript, peu importe où ils se trouvent, dans Style Library
ou dans _layouts
dossier.Le débogage d'un fichier JavaScript séparé est également plus facile que le code en ligne.
Autres conseils
Pendant que nous travaillons avec des fichiers XML Sharepoint tels que les fichiers Feature.xml, Elements.xml ou ONET.xml, nous n'obtiendrons aucun intellisense par défaut.
Mais pour tout développeur, il est difficile de se souvenir de toutes ces informations.Voici donc le moyen le plus simple d'obtenir l'IntelliSense
- Ouvrez votre fichier XML dans Visual Studio.
- Accédez au volet des propriétés du fichier XML, cliquez sur le schéma et recherchez le fichier.
- localisez le fichier nommé "wss.xsd" à partir de C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/XML/wss.xsd (12 pour MOSS, 14 pour SP 2010 et 15 pour SP2013)
Note :ce fichier aura toutes les fonctions définies par XML qui sont facilement reconnues par le studio visuel.
Ensuite, vous obtiendrez l'intellisense pour la solution SharePoint.
Crédit :- http://kancharla-sharepoint.blogspot.com/2012/03/how-to-get-intellisece-for-featurexml.html