Modification de Colodus

Aller à : navigation, rechercher

AVERTISSEMENT : la base de données a été verrouillée pour des opérations de maintenance. Vous ne pouvez donc pas publier vos modifications pour l’instant. Vous pouvez copier et coller votre texte dans un fichier texte et l’enregistrer pour plus tard.

L’administrateur système ayant verrouillé la base de données a donné l’explication suivante : Le site rencontre un fort spam actuellement (2018-12-21), mise en lecture seule le temps de trouver une solution.

Cette modification va être annulée. Veuillez vérifier les différences ci-dessous, puis publier l’annulation si c’est bien ce que vous voulez faire.
Version actuelle Votre texte
Ligne 16 : Ligne 16 :
 
<br />
 
<br />
 
<br />
 
<br />
''Le tableau ci-dessous n'est pas bon - à adapter pour les données d'exemplaire : d'après [https://twitter.com/lully1804 @Lully1804], il y a plusieurs champs <input> sur la page Colodus, il faut les distinguer en utilisant par exemple l'attribut id de ces balises. Pb : l'id change à chaque affichage. Donc il faut récupérer le début de l'attribut id seulement (exemple : balise <input id="991_2819272">)''
+
''Le tableau ci-dessous n'est pas bon - à tester pour les données d'exemplaire : plusieurs champs <input> sur la page Colodus, il faut les distinguer en utilisant par exemple l'attribut id de ces balises. Pb : l'id change à chaque affichage. Donc il faut récupérer le début de l'attribut id seulement (exemple : balise <input id="991_2819272">)''
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Ligne 52 : Ligne 52 :
 
|  
 
|  
 
|}
 
|}
 
=== Utilisation de bookmarklets pour les données d'exemplaire ===
 
Les données d'exemplaires sont affichées dans des champs <input>, identifiable par leur attribut ID
 
 
Par exemple, quand on choisit d'ajouter un champ "Localisation de niveau 2 : Localisation complémentaire (c)", ça correspond à un 930$c : Du coup la balise de saisie sera '''<input id="E930_c-19"></input>'''
 
 
Problème : le "19" change d'une fois sur l'autre.<br/>
 
Il faut donc que la bookmarklet arrive à identifier les <input> à renseigner en utilisant que le début de l'id.
 
 
Pour cela, le plus simple est d'utiliser du '''JQuery''', sur le modèle suivant.
 
 
Si on crée une bookmarklet avec le code ci-dessous, quand on clique dessus le code va
 
# récupérer l'identifiant de l'exemplaire à créer (pour pouvoir profiter de la fonction ajt() prévue par Colodus)
 
# créer la zone 930$c (il utilise la fonction ajt())
 
# lui attribuer la valeur SL
 
# chercher la zone 930$a (déjà existante) et lui attribuer le code 001.133
 
 
<syntaxhighlight lang="javascript" enclose="div">
 
javascript:(function(){
 
divparent=window.document.getElementById('E9xx');
 
divclass=divparent.getElementsByClassName('E930_Div');
 
divid=divclass[0].getAttribute('id');
 
ajt('record0','E930_c',null,divid,null,null,null,null,null);
 
jQuery("input[id*='E930_c']").val("SL");
 
jQuery("input[id*='E930_a']").val("001.133");
 
})
 
()
 
</syntaxhighlight>
 
 
La fonction ajt() est dans le code de Colodus. Le problème est que l'identifiant '930-3' change à chaque nouvelle création d'exemplaire. Il faut donc récupérer cet identifiant dans la page pour le reproduire ici.
 
 
Remarque : ce sera plus propre si vous mettez du code sans les saut de lignes et les espaces, mais ça marche aussi
 
 
==== Mise en place et utilisation courante ====
 
* Se créer un répertoire dans ses favoris, pour y gérer ses bookmarklets Colodus
 
* Pour chaque fonds alimenté, créer une bookmarklet contenant les valeurs par défaut, en lui donnant le nom du fonds concerné. A chaque fois, utiliser d'abord la fonction ajt() pour créer la ligne, avant de l'alimenter (évidemment)
 
 
'''Modifier/adapter un bookmarklet'''
 
# Reproduire le code ci-dessous
 
# ne pas toucher aux lignes avant "ajt()"
 
# pour chaque sous-champ à créer dans son modèle, dupliquer la ligne "ajt()" en adaptant le nom du sous-champ (premier paramètre de la fonction ajt()
 
# pour chaque sous-champ à alimenter, dupliquer la ligne commençant par jQuery, et y personnaliser : le nom du sous-champ ; la valeur à renseigner
 
# supprimer les sauts de ligne
 
# créer un nouveau favori : dans le champ Nom, lui donner le nom voulu (exemple : "Livres Informatique") ; dans le champ URL, y mettre le code produit aux étapes précédentes
 
 
Exemple : pour des livres de la BU Droit, mis en magasin et cotés en Dewey (Droit = 340)
 
 
<syntaxhighlight lang="javascript" enclose="div">
 
javascript:(function(){
 
        divparent=window.document.getElementById('E9xx');
 
        divclass=divparent.getElementsByClassName('E930_Div');
 
        divid=divclass[0].getAttribute('id');
 
        ajt('record0','E930_c',null,divid,null,null,null,null,null);
 
ajt('record0','E930_d',null,divid,null,null,null,null,null);
 
        jQuery("input[id*='E930_c']").val("DROIT");
 
jQuery("input[id*='E930_d']").val("MAG");
 
        jQuery("input[id*='E930_a']").val("34"); 
 
        })
 
        ()
 
</syntaxhighlight>
 
 
==== Avec ajout de champs 915 aussi ====
 
 
<syntaxhighlight lang="javascript" enclose="div">
 
javascript:(function(){
 
divparent=window.document.getElementById('E9xx');
 
div930=divparent.getElementsByClassName('E930_Div');
 
divid930=div930[0].getAttribute('id');
 
ajt('record0','E930_c',null,divid930,null,null,null,null,null);
 
ajt('record0','E930_d',null,divid930,null,null,null,null,null);
 
ajLt('record0','E915',null,null,null,null,null,null,null);
 
div915=divparent.getElementsByClassName('E915_Div');
 
divid915=div915[0].getAttribute('id');
 
ajt('record0','E915_b',null,divid915,null,null,null,null,null);
 
jQuery("input[id*='E930_c']").val("SCIEN");
 
jQuery("input[id*='E930_d']").val("MAN");
 
jQuery("input[id*='E930_a']").val("001");
 
})()
 
</syntaxhighlight>
 
  
 
== Exemple de communication sur Colodus ==
 
== Exemple de communication sur Colodus ==

Toutes les contributions à Bibliopedia sont considérées comme publiées sous les termes de la Creative Commons attribution partage à l'identique (voir Bibliopedia:Copyrights pour plus de détails). Si vous ne désirez pas que vos écrits soient modifiés et distribués à volonté, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même, ou que vous l’avez copié d’une source provenant du domaine public ou d’une ressource libre similaire. N’UTILISEZ PAS DE TRAVAUX SOUS DROIT D’AUTEUR SANS AUTORISATION EXPRESSE !

Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)