Créer un calendrier qui combine plusieurs calendriers sur différents sites
-
10-12-2019 - |
Question
J'essaie de comprendre comment j'irais créer 5 calendriers.Lorsque le 5ème calendrier serait simplement une combinaison des 4 calendriers et être codé par la couleur pour refléter chaque calendrier.Signification Cal 1= bleu, cal 2= rouge, cal 3= vert, cal 4= jaune.Cependant, les 4 calendriers ne sont pas sur le même site, mais sont dans la même collection de sites.Est-ce possible sans logiciel 3ème partie.
La solution
dans SharePoint 2010 (et je pense 2013), vous pouvez utiliser des superpositions.Sur le ruban de calendrier, vous trouverez un bouton de recouvrement qui vous permet d'ajouter des calendriers à partir d'autres sites - voire des vues d'un seul calendrier.Vous pouvez choisir différentes couleurs pour chacun.Et ils apparaissent tous comme un.
Autres conseils
Vous pouvez créer des flux de travail pour ajouter / éditer / supprimer un calendrier en fonction des changements des autres.
- Si l'événement ajouté sur le calendrier (A, B, C), ajoutez ensuite un événement au calendrier d.
- Si l'événement édité au calendrier (A, B, C), puis modifiez l'événement au calendrier d.
- Si l'événement est supprimé sur le calendrier (A, B, C), puis supprimez l'événement au calendrier d.
ou, faites-le vers l'inverse. Tout le monde ajoute à "Calendrier D" et il met à jour les autres calendriers. Idéalement, tous les champs seraient les mêmes.
Pour le codage de couleur, nous avons utilisé un champ calculé avec un style inline:
<span style="color:red">[Title]</span>
Le champ calculé pour choisir la "couleur" pourrait ressembler à ceci:
=IF(calendar="1","red",IF(calendar="2","blue",IF(calendar="3","green",IF(calendar="4","orange",""))))
Le champ calculé pour choisir le "colorétiter" pourrait ressembler à ceci:
="<span style='color:"&Color&";'> "&[ColoredTitle]&"</span>")
Bien sûr, vous devrez inclure JavaScript pour transformer le "<" en "<" et ">" dans ">", car SharePoint change les supports sur les caractères échappés. Ensuite, utilisez ce script jQuery:
<script> $(document).ready(function() { $('.ms-formlabel').each(function() { if (this.innerHTML.indexOf('<') > -1) { this.innerHTML = this.innerHTML.replace(/</g,'<').replace(/>/g,'>'); } }); }); </script>