Changeset 83966 in spip-zone


Ignore:
Timestamp:
Jul 31, 2014, 2:58:59 PM (7 years ago)
Author:
kent1@…
Message:

Pour ajouter simplement un javascript avant le formulaire, il suffit maintenant d'avoir :

  • soit javascript/$type.js ($type étant le type d'objet : article, rubrique...);
  • soit javascript/$diogenetype?.js ($diogenetype? étant l'identifiant du diogene);

Réellement utile depuis une squelette par exemple... évite toute la procédure d'utilisation d'un pipeline

Version 1.7.2

Location:
_plugins_/diogene/diogene/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/diogene/diogene/trunk/diogene_pipelines.php

    r83962 r83966  
    144144                        }
    145145
    146                         /**
    147                          * On ajoute ce que l'on souhaite ajouter avant le formulaire
    148                          */
    149146                        if($type=='page'){
    150147                                $type='article';
     
    152149                                $old_type = 'page';
    153150                        }
     151                       
     152                        /**
     153                         * On ajoute ce que l'on souhaite ajouter avant le formulaire
     154                         *
     155                         * Pour cela, on utilise un pipeline diogene_avant_formulaire utilisable à partir d'autres plugins
     156                         *
     157                         * Par défaut :
     158                         * - Si on trouve un fichier javascript/$type.js ($type étant le type d'objet : article, rubrique...), on le charge en amont
     159                         * - Si on trouve un fichier javascript/$diogene['type'].js ($diogene['type'] étant l'identifiant du diogene), on le charge en amont
     160                         */
    154161                        if (preg_match(",<div [^>]*class=[\"'][^>]*formulaire_editer_($type),Uims",$flux['data'],$regs)){
    155162                                $args['champs_ajoutes'] = $diogene['champs_ajoutes'];
    156163                                $args['diogene_identifiant'] = $diogene['type'];
    157164                                $ajouts = pipeline('diogene_avant_formulaire',array('args'=>$args,'data'=>''));
     165                                if($js = find_in_path('javascript/'.$type.'.js'))
     166                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
     167                                elseif($js = find_in_path('javascript/'.$diogene['type'].'.js'))
     168                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
    158169                                $flux['data'] = preg_replace(",(<div [^>]*class=[\"'][^>]*formulaire_editer_$type),Uims",$ajouts."\\1",$flux['data'],1);
    159170                        }
     171
    160172                        /**
    161173                         * On ajoute le formulaire de langue sur les articles
  • _plugins_/diogene/diogene/trunk/paquet.xml

    r83962 r83966  
    22        prefix="diogene"
    33        categorie="edition"
    4         version="1.7.1"
     4        version="1.7.2"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.