« WATERBEAR:Menus contextuels rediriges » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
 
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 55 : Ligne 55 :




==Script PHP==
Voici le script PHP qui est à placer dans le sous-répertoire "include/plugins/div" du logiciel. Ce script est inclus dans  
Voici le script PHP qui est à placer dans le sous-répertoire "include/plugins/div" du logiciel. Ce script est inclus dans  
[[Media:WATERBEAR:Waterbear.modif.zip|le fichier ZIP des modifications de Waterbear]].
[[Media:WATERBEAR:Waterbear.modif.zip|le fichier ZIP des modifications de Waterbear]].
Ligne 135 : Ligne 136 :




==Fonctionnement==
Ce script a pour but de faire un choix parmi les différents menus contextuels. Quand il l'a trouvé, il transfére le traitement au plugin correspondant qui est chzargé de récupérer le contenu de ce menu contextuel.
Lors de l'appel de ce plugin, ce dernier appelle la fonction "mc_redirect" (function plugin_div_mc_redirect) (noeud: nom_fonction) se trouvant dans "div" (include/plugins/div) (noeud: chemin_fichier).
Cette fonction a besoin de divers paramètres.
En premier niveau:
- ID : le n° d'enregistrement dans la table nommé sous le paramètre "Type_obj". Ce paramètre est transmis par la procédure appelante.
- type_obj qui a besoin du type d'objet trouvé dans le registre, ici "biblio" (table: obj_biblio_acces). Les recherches se feront dans cet objet.
Les autres paramètres se retrouvent dans le registre de façon imbriquées sur plusieurs niveaux jusqu'à arriver au nom du plugin du menu contextuel désiré:
- plugin_formate qui a besoin du nom d'un plugin qui est chargé de récupérer dans la table nommé sous le paramètre "Type_obj", la valeur nécessaire selon le plugin dépendant (noeud: nom_plugin). Au premier niveau, il a pour valeur "catalogue/marcxml/formatage/biblio/acces/type_doc". Il recherche donc la valeur dans le champs "a_type_doc" de l'enregistrement "ID" de l'objet "biblio" (table: obj_biblio_acces).
- choix: En dessous de ce noeud, on trouve une liste de valeurs possibles récupérées via le noeud "plugin_formate" du même niveau. Si aucune ne convient, le noeud "_else" est choisi. En dessous de ces valeurs possibles ou sous le noeud "_else", on retrouve soit le nom du plugin du menu contextuel recherché (noeud: nom_plugin) soit on recommence un nouveau sous-choix (noeuds: "choix" et "plugin_formate").
Cette recherche est récursive.
Par exemple pour une série, le champs "a_type_doc" vaut "a", le champs "a_niveau_bilio" vaut "m" et le champs "a_niveau_hierarchique" vaut "1".
En premier lieu, on cherche "a" (choix => a) dans le champs "a_type_doc" (plugin_formate => nom_plugin = "catalogue/marcxml/formatage/biblio/acces/type_doc").
En second lieu, sous le choix "a", on cherche "m" (choix => m) dans le champs "a_niveau_bilio" (plugin_formate => nom_plugin = "catalogue/marcxml/formatage/biblio/acces/niveau_biblio").
En troisième lieu, sous le choix "k", on cherche "1" (choix => 1) dans le champs "a_niveau_hierarchique" (plugin_formate => nom_plugin = "catalogue/marcxml/formatage/biblio/acces/niveau_hierarchique"). Et là, enfin on arrive au nom du plugin du menu contextuel pour la série (nom_plugin = "div/menus_contextuels/biblio/formulaires_recherche_serie_reference").
==Implantation==
Nous allons dans le registre à l'adresse:
Nous allons dans le registre à l'adresse:


  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_biblio
  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_biblio


 
:=> formulaires_recherche_biblio
+ formulaires_recherche_biblio
::=> chemin_fichier = div
+ chemin_fichier => div
::=> nom_fonction = mc_redirect
+ nom_fonction => mc_redirect
::=> parametres
+ parametres
:::=> choix
    + choix
::::=> a
          + a
:::::=> choix
              + choix
::::::=> k
                    + k
:::::::=> nom_plugin = div/menus_contextuels/biblio/formulaires_recherche_collection_reference
                        + nom_plugin => div/menus_contextuels/biblio/formulaires_recherche_collection_reference
::::::=> m
                    + m
:::::::=> choix
                        + choix
::::::::=> 1
                              + 1
:::::::::=> nom_plugin = div/menus_contextuels/biblio/formulaires_recherche_serie_reference
                                  + nom_plugin => div/menus_contextuels/biblio/formulaires_recherche_serie_reference
::::::::=> _else
                              + _else
:::::::::=> nom_plugin = div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
                                  + nom_plugin => div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
:::::::=> plugin_formate
                        + plugin_formate
::::::::=> nom_plugin = catalogue/marcxml/formatage/biblio/acces/niveau_hierarchique
                              + nom_plugin => catalogue/marcxml/formatage/biblio/acces/niveau_hierarchique
::::::=> _else
                    + _else
:::::::=> nom_plugin = div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
                        + nom_plugin => div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
:::::=> plugin_formate
              + plugin_formate
::::::=> nom_plugin = catalogue/marcxml/formatage/biblio/acces/niveau_biblio
                    + nom_plugin => catalogue/marcxml/formatage/biblio/acces/niveau_biblio
::::=> _else
          + _else
:::::=> nom_plugin = div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
              + nom_plugin => div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
:::=> plugin_formate
    + plugin_formate
::::=> nom_plugin = catalogue/marcxml/formatage/biblio/acces/type_doc
          + nom_plugin => catalogue/marcxml/formatage/biblio/acces/type_doc
:::=> type_obj = biblio
    + type_obj => biblio
 




Ligne 201 : Ligne 227 :
----
----


=Menus contextuels=
Nous avons besoin de trois menus contextuels.




==Menu contextuel défini par défaut pour tous documents==
Cette arborescente correspond à celle originale "formulaires_recherche_biblio" renommée en "formulaires_recherche_biblio_reference".
Nous allons dans le registre à l'adresse:
Nous allons dans le registre à l'adresse:


  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_biblio_reference
  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_biblio_reference


+ formulaires_recherche_biblio_reference
:=> formulaires_recherche_biblio_reference
+ chemin_fichier => div
::=> chemin_fichier = div
+ nom_fonction => plugins_2_array
::=> nom_fonction = plugins_2_array
+ parametres
::=> parametres
    + menus
:::=> menus
          + 001 - voir
::::=> 001 - voir
              + ??text => bib_ws/div/menus_contextuels/voir
:::::=> ??text = bib_ws/div/menus_contextuels/voir
              + onclick
:::::=> onclick
                    + fn => mc_voir
::::::=> fn = mc_voir
                    + obj
::::::=> obj
          + 01 - infos
::::=> 01 - infos
              + ??text => bib_ws/div/menus_contextuels/infos
:::::=> ??text = bib_ws/div/menus_contextuels/infos
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=>  obj
                    + param_registre
::::::=>  param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/biblio/acces&id=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/biblio/acces&id=
          + 02 - cataloguer
::::=> 02 - cataloguer
              + ??text => bib_ws/div/menus_contextuels/cataloguer
:::::=> ??text = bib_ws/div/menus_contextuels/cataloguer
              + onclick
:::::=> onclick
                    + fn => mc_cataloguer
::::::=> fn = mc_cataloguer
                    + obj
::::::=> obj
          + 035 - sélectionner
::::=> 035 - sélectionner
              + ??text => bib_ws/div/menus_contextuels/selectionner
:::::=> ??text => bib_ws/div/menus_contextuels/selectionner
              + onclick
:::::=> onclick
                    + fn => mc_selectionner
::::::=> fn = mc_selectionner
                    + obj
::::::=> obj
          + 04 - reserver
::::=> 04 - reserver
              + ??text => bib_ws/div/menus_contextuels/reserver
:::::=> ??text = bib_ws/div/menus_contextuels/reserver
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=transactions/resas/standard&ID_doc=
:::::::=> url = bib.php?module=transactions/resas/standard&ID_doc=
          + 08 - notices filles
::::=> 08 - notices filles
              + ??text => bib_ws/div/menus_contextuels/notices_filles
:::::=> ??text = bib_ws/div/menus_contextuels/notices_filles
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/biblio/fascicule_acces&id_serie=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/biblio/fascicule_acces&id_serie=
          + 10 - historique_prets
::::=> 10 - historique_prets
              + ??text => bib_ws/div/menus_contextuels/historique_prets
:::::=> ??text = bib_ws/div/menus_contextuels/historique_prets
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/pret/acces&ID_biblio=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/pret/acces&ID_biblio=
          + 11 - prets en cours
::::=> 11 - prets en cours
              + ??text => bib_ws/div/menus_contextuels/prets_en_cours
:::::=> ??text => bib_ws/div/menus_contextuels/prets_en_cours
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/pret/acces&date_retour_reel=0000-00-00&ID_biblio=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/pret/acces&date_retour_reel=0000-00-00&ID_biblio=
          + 15 - historique resas
::::=> 15 - historique resas
              + ??text => bib_ws/div/menus_contextuels/historique_resas
:::::=> ??text = bib_ws/div/menus_contextuels/historique_resas
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/resa/acces&ID_biblio=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/resa/acces&ID_biblio=
          + 16 - resas en cours
::::=> 16 - resas en cours
              + ??text => bib_ws/div/menus_contextuels/resas_en_cours
:::::=> ??text = bib_ws/div/menus_contextuels/resas_en_cours
              + onclick
:::::=> onclick
                    + fn => mc_ouvrir_special
::::::=> fn = mc_ouvrir_special
                    + obj
::::::=> obj
                    + param_registre
::::::=> param_registre
                        + url => bib.php?module=catalogue/recherches/formulaires/resa/acces&etat=5,10,15,20,25&ID_biblio=
:::::::=> url = bib.php?module=catalogue/recherches/formulaires/resa/acces&etat=5,10,15,20,25&ID_biblio=
 


Le code à injecter via l'outil d'importation dans le registre est:
Le code à injecter via l'outil d'importation dans le registre est:
Ligne 353 : Ligne 385 :




==Menu contextuel pour les collections==
On a besoin seulement de cataloguer.
Nous allons dans le registre à l'adresse:
Nous allons dans le registre à l'adresse:


  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_collection_reference
  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_collection_reference


+ formulaires_recherche_collection_reference
:=> formulaires_recherche_collection_reference
+ chemin_fichier => div
::=> chemin_fichier = div
+ nom_fonction => plugins_2_array
::=> nom_fonction = plugins_2_array
+ parametres
::=> parametres
    + menus
:::=> menus
          + 02 - cataloguer
::::=> 02 - cataloguer
              + ??text => bib_ws/div/menus_contextuels/cataloguer
:::::=> ??text = bib_ws/div/menus_contextuels/cataloguer
              + onclick
:::::=> onclick
                    + fn => mc_cataloguer
::::::=> fn = mc_cataloguer
                    + obj
::::::=> obj




Ligne 386 : Ligne 420 :




 
==Menu contextuel pour les séries==
 
On a besoin de voir (onglet "Liste") et de cataloguer.
Nous allons dans le registre à l'adresse:
Nous allons dans le registre à l'adresse:


  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_serie_reference
  profiles/defaut/plugins/plugins/div/menus_contextuels/biblio/formulaires_recherche_serie_reference


 
:=> formulaires_recherche_serie_reference
+ formulaires_recherche_serie_reference
::=> chemin_fichier = div
+ chemin_fichier => div
::=> nom_fonction = plugins_2_array
+ nom_fonction => plugins_2_array
::=> parametres
+ parametres
:::=> menus
    + menus
::::=> 01 - voir
          + 01 - voir
:::::=> ??text = bib_ws/div/menus_contextuels/voir
              + ??text => bib_ws/div/menus_contextuels/voir
:::::=> onclick
              + onclick
::::::=> fn = mc_voir
                    + fn => mc_voir
::::::=> obj
                    + obj
::::=> 02 - cataloguer
          + 02 - cataloguer
:::::=> ??text = bib_ws/div/menus_contextuels/cataloguer
              + ??text => bib_ws/div/menus_contextuels/cataloguer
:::::=> onclick
              + onclick
::::::=> fn = mc_cataloguer
                    + fn => mc_cataloguer
::::::=> obj
                    + obj




Ligne 430 : Ligne 463 :
  ]
  ]
----
----




=Intégration dans le registre=
=Intégration dans le registre=
Ces corrections sont a faire dans le registre. A ce stade, vous pouvez les personnaliser.
Ces corrections sont à faire dans le registre. A ce stade, vous pouvez les personnaliser.
Pour les appliquer, vous pouvez soit les intégrer dans l'écran d'importation au niveau de l'administration du registre, soit exécuter, en commande de ligne sous Linux, le script contenu dans le fichier zippé ci-dessous:
Pour les appliquer, vous pouvez soit les intégrer dans l'écran d'importation au niveau de l'administration du registre, soit exécuter, en commande de ligne sous Linux, le script contenu dans le fichier zippé ci-dessous:


Ligne 472 : Ligne 490 :
''->[[WATERBEAR:Documents|retour au menu Documents de Waterbear]]''
''->[[WATERBEAR:Documents|retour au menu Documents de Waterbear]]''
__NOEDITSECTION__
__NOEDITSECTION__
[[Category:WATERBEAR]]