Insérer un plugin dans une rubrique spécifique. - commentaires Souci affichage dans les articles sélectionnés 2010-01-10T23:20:51Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment425006 2010-01-10T23:20:51Z <p>Bonsoir,</p> <p>Voila je viens d'effectuer toutes les étapes dans l'article pour afficher la carte gis que dans une rubrique spécifique. Mais je rencontre un problème la carte apparait sur tous les articles de mon site. Alors que j'ai bien suivi à la lettre les instructions de l'article pourriez vous m'éclairer car je suis un peu désespéré que ça ne fonctionne pas.</p> <p>Ce que je souhaiterai en fait ça serait que la carte n'apparaisse que dans les articles de la rubrique TEST GIS de mon site.</p> <p>Je travail en local avec un SPIP 2.0.10, un squelette Soyez Créateurs à jour. Je suis un débutant sous SPIP.</p> <p>En vous remerciant par avance d'une quelconque aide de votre part.</p> <p>Merci</p> Insérer un plugin dans une rubrique spécifique. 2010-01-08T14:08:36Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment424932 2010-01-08T14:08:36Z <p>Bonjour,</p> <p>Merci pour cet article<small class="fine d-inline"> </small>!</p> <p>Voila je débute dans SPIP et je voudrais faire ceci :</p> <p>Donc j'ai une rubrique qui utilise GIS et je voudrais qu'en en appelant le modèle il n'y est que cette rubrique et ses articles qui fassent apparaitre la carte<small class="fine d-inline"> </small>? (je voudrais éviter de faire un forçage sur l'id de la rubrique)</p> <p>Pourriez-vous m'aider<small class="fine d-inline"> </small>?</p> <p>Je suis en local avec un SPIP 2.0.10 et un squelette Soyez Créateurs.</p> <p>Merci par avance</p> <p>Guillaume</p> PB_charts avec mot-clef spécifique 2008-10-02T12:34:26Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment408889 2008-10-02T12:34:26Z <p>Et voila, le client a repris la main et supprimé le dossier... pas très sympa... j'ai retrouvé les codes, je te les colle là, il faudra peut être les modifier :</p> <p>Pour cfg dans fonds/cfg_pbcharts.html</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#CACHE{0} <form method="post">[(#ENV{_cfg_}|form_hidden)] [(#REM) descriptif= <h4>PB_charts sur quels objets?</h4> Quel est l'objet qui doit &ecirc;tre trait&eacute; <br /> <a href="http://www.paris-beyrouth.org/Le-plugin-PB-Charts" class="spip_out">Documentation PB_charts</a> ] [(#REM) titre=PB_charts] #SET{wichmot,#CONFIG{pbcharts/mot_pbcharts,'',''}} <fieldset> <legend>Choix du mot-clef pour appliquer &agrave; l'article qui lui sera li&eacute; le plugin pb_charts</legend> <label>Choix du mot-clef &agrave; utiliser :</label><br /> <select name="mot_pbcharts[]" multiple="multiple" size="5"> <option value="" [(#GET{wichmot}|?{'',' '})selected="selected"]>aucun</option> <BOUCLE_gpmots(MOTS){par id_groupe}> <option value="#ID_MOT" [(#ID_MOT|in_array{#GET{wichmot}}|?{' selected="selected"'})]> <strong>[Groupe (#ID_GROUPE)]</strong> #ID_MOT #TITRE </option> </BOUCLE_gpmots> </select> </fieldset> <input type="submit" name="_cfg_ok" value="<:OK:>" /> <input type="reset" value="<:Reset:>" /> <input type="submit" name="_cfg_delete" value="<:Supprimer:>" /> </form></code></pre></div> <p><strong>dans pb_charts_actions.php</strong></p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function pb_charts_traiter_charts ($texte) { global $id_article; if (!$id_article) #return "on est pas dans un article"; return $texte; // Echec silencieux //print $id_article; //si l'article possède le mot clef définit dans cfg, alors on met la pb_charte dessus if (function_exists(lire_config)) { $arracfgmot_chart=lire_config("pbcharts/mot_pbcharts",' '); $id_mot=$arracfgmot_chart[0]; //print $id_mot; //s'affiche 2 fois?? if ($id_mot!=' '){ //on cherche si le mot est attache a l'article $s = spip_query("SELECT id_mot FROM spip_mots_articles WHERE id_mot=$id_mot AND id_article=$id_article"); $row = spip_fetch_array($s); if (!$row) //l'article n'est pas lie. #return "il n'y a pas le mot clef attache a cet article"; return $texte; // Echec silencieux else{ #return "le mot est attache on demarre la charte"; return pb_charts_original($texte); }; } }else{ #return "pas de cfg, on laisse rouler comme avant"; return pb_charts_original($texte); } #return "la sortie est par là"; return pb_charts_original($texte); }</code></pre></div> PB_charts avec mot-clef spécifique 2008-10-02T11:25:29Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment408887 2008-10-02T11:25:29Z <p>Bonjour,</p> <p>Le lien ne semble plus fonctionner. Je souhaitais m'en inspirer pour les mots clefs spécifiques à l'agenda.</p> <p>Peut-on le trouver ailleurs<small class="fine d-inline"> </small>?</p> <p>Merci</p> Insérer un plugin dans une rubrique spécifique - Plugin Agenda avec traduc en en 2008-07-07T15:30:46Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment407331 2008-07-07T15:30:46Z <p>cette fonction est intégrée dans agenda 1_9_3</p> Insérer un plugin dans une rubrique spécifique - Plugin Agenda avec traduc en en 2008-06-27T07:10:24Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment407129 2008-06-27T07:10:24Z <p>Pour SPIP 1.9.3 svn (juin 2008) voici le code pour l'agenda</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function Agenda_affiche_milieu($flux) { if (_request('exec')=='articles'){ //on teste si cfg est actif if (function_exists(lire_config)) { $arracfgrubriques=lire_config("agenda/rubriques_agenda",' '); $id_article = $flux['args']['id_article']; if ($id_article!=''){ //on cherche la rubrique de l'article $row = sql_fetsel("id_rubrique", "spip_articles", "id_article=$id_article"); $id_rubrique = $row['id_rubrique']; //et si la rubrique est dans l'arrayrub if (in_array($id_rubrique, $arracfgrubriques)) { include_spip('inc/calendar'); include_spip('inc/agenda_gestion'); $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article),'articles'); } } }else { include_spip('inc/calendar'); include_spip('inc/agenda_gestion'); $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article),'articles'); } } return $flux; }</code></pre></div> PB_charts avec mot-clef spécifique 2008-02-27T15:05:04Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment403482 2008-02-27T15:05:04Z <p>Merci à Arno* pour son plugin<br class="autobr"> <a href="http://www.paris-beyrouth.org/Le-plugin-PB-Charts" class="spip_out" rel='nofollow external'>http://www.paris-beyrouth.org/Le-plugin-PB-Charts</a></p> <p>J'ai ajouté un fichier pour, je l'espère, une optimisation de ses fonctionnalités.<br class="autobr"> Soit un CFG qui permet de choisir le mot clef à attacher aux articles qui sont à traiter par ce plugin,<br class="autobr"> cela evite de passer le traitement sur toutes les pages.<br class="autobr"> Et si CFG n'est pas installé, ça tourne comme avant.</p> <p>+modif de pb_charts_actions.php sur function pb_charts_traiter_charts</p> <p>Si vous souhaitez le tester, c'est par là</p> <p><a href="http://grainesdimages.com/modifs-ZIP-graines/" class="spip_out" rel='nofollow external'>http://grainesdimages.com/modifs-ZIP-graines/</a></p> selon mots clés 2007-10-18T16:37:16Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399277 2007-10-18T16:37:16Z <p>Je n'ai pas remercié ici les créateurs du squelette <a href='https://files.spip.net/Squelette-Multi-Saisons' class="spip_in" rel='nofollow'>multi-saisons</a> pour SPIP, dont je me suis servi largement <a href="http://www.art-logic.info/multi_saisons/" class="spip_out" rel='nofollow external'>http://www.art-logic.info/multi_saisons/</a></p> <p>pas le temps d'envoyer toutes mes modifs depuis, merci encore à eux</p> <p>pour le squelette de la carte glouglou special events, faut piocher<small class="fine d-inline"> </small>!</p> <p>un de ces 4 je le ferais<small class="fine d-inline"> </small>;) mais je le réserve à art-logic si ils le veulent<small class="fine d-inline"> </small>;)</p> selon mots clés 2007-10-18T16:21:23Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399274 2007-10-18T16:21:23Z <p>Excellent<small class="fine d-inline"> </small>!</p> <p>Et en plus le squelette du site est très sympa.<br class="autobr"> Il n'est pas sur la zone par hasard<small class="fine d-inline"> </small>?<small class="fine d-inline"> </small>;-)</p> <p>Merci<small class="fine d-inline"> </small>!</p> selon mots clés 2007-10-18T15:39:20Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399271 2007-10-18T15:39:20Z <p>Arf, j'ai lu trop vite,</p> <p>Il faut rester générique, ç'est ça qui est intéressant, et choisir le groupe que l'on veut.</p> <p>J'ai pour ma part opté pour un groupe « lieu » dans lequel au surprise les mots clefs sont des lieux avec carte configurée, je demande à cfg de n'appliquer la carte que sur ce groupe (grace au code précédent) et je désactive la carte sur les articles (cfg= aucune rubrique), puis j'affilie le mot clef à l'article que je veux.</p> <p>ça marche ici <a href="http://www.contrelesaddictions.fr/" class="spip_out" rel='nofollow external'>http://www.contrelesaddictions.fr/</a> en un peu plus poussé encore puisque j'ai modifié le squelette pour faire apparaitre les évènements d'un lieu donné. Le groupe lieu est lié alors uniquement aux évènements.</p> selon mots clés 2007-10-18T15:26:54Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399270 2007-10-18T15:26:54Z <p>Oui, je l'ai fait aussi sur GIS, je ne voulais pas que l'article soit illisible, le principe est le même, donc inutile que tu t'y recolles<small class="fine d-inline"> </small>! voici la boucle à insérer dans fonds/cfg_gis.html</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code> #SET{wichgroup,#CONFIG{gis/groupes_gis,'',''}} <fieldset> <legend>Quel groupe de mots?</legend> <label>Choix du groupe de mots &agrave; utiliser :</label> <select name="groupes_gis[]" multiple="multiple" size="5"> <option value="" [(#GET{wichgroup}|?{'',' '})selected="selected"]>aucuns</option> <BOUCLE_gpmots(GROUPES_MOTS){par titre}> <option value="#ID_GROUPE" [(#ID_GROUPE|in_array{#GET{wichgroup}}|?{' selected="selected"'})]> #ID_GROUPE . #TITRE</option> </BOUCLE_gpmots> </select> </fieldset></code></pre></div> <p>et pour récupérer les mots choisis, dans gis_pipeline.php</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function gis_gismot($flux){ if (_request('exec')=='mots_edit'){ //on teste si cfg est actif if (function_exists(lire_config)) { $arracfggroupes_gis=lire_config("gis/groupes_gis",' '); global $id_mot; if ($id_mot!=''){ //on cherche le groupe du mot $s = spip_query("SELECT id_groupe FROM spip_mots WHERE id_mot=$id_mot"); $row = spip_fetch_array($s); $id_groupe = $row['id_groupe']; //si le groupe est dans l'array if (in_array($id_groupe, $arracfggroupes_gis)) { include_spip('inc/parte_privada'); $flux['data'] .= gis_mots($flux['arg']['id_mot']); } } }else{ include_spip('inc/parte_privada'); $flux['data'] .= gis_mots($flux['arg']['id_mot']); } return $flux; } }</code></pre></div> <p>ça marche bien<small class="fine d-inline"> </small>!</p> selon mots clés 2007-10-18T15:15:18Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399269 2007-10-18T15:15:18Z <p>Bonjour</p> <p>merci pour la contribe<br class="autobr"> peut-on imaginer d'insérer le plugin sur les articles qui ont tel et tel mot clé<small class="fine d-inline"> </small>?</p> Insérer un plugin dans une rubrique spécifique - Plugin Agenda avec traduc en en 2007-10-16T22:01:40Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399232 2007-10-16T22:01:40Z <p>Ah<small class="fine d-inline"> </small>! super<small class="fine d-inline"> </small>! Je crois que le fichier de lang doit être nommé ainsi</p> <p><code class="spip_code spip_code_inline" dir="ltr">plugins/tonplugin/lang/tonplugin_fr.php</code></p> <p>tu l'utilises alors comme cela dans le code d'un squelette <code class="spip_code spip_code_inline" dir="ltr"><:tonplugin:phrasetraduite:></code></p> Insérer un plugin dans une rubrique spécifique - Plugin Agenda avec traduc en en 2007-10-12T11:25:41Z https://files.spip.net/Inserer-un-plugin-dans-une-rubrique-specifique#comment399076 2007-10-12T11:25:41Z <p>Bonjour,</p> <p>merci pour cette contribution que je viens d'adapter au plugin Agenda en ajoutant des balises multilingues pour des traductions en anglais</p> <p>Voici le fichier : agenda_1_9_2\fonds\cfg_agenda.html :</p> <code class="echappe-js"><script><br> #CACHE{0}<br> <form method="post">[(#ENV{_cfg_}|form_hidden)]<br> [(#REM) descriptif=<br> <h4><multi>Agenda in which sections ?</multi></h4><br> <multi>Which section will be used?</multi><br> <br /><br> <a href="http://www.spip-contrib.net/Plugin-Agenda" class="spip_out">Documentation Agenda</a><br> ]<br> <br> [(#REM) titre=Agenda]<br> <br> #SET{wichrub,#CONFIG{agenda/rubriques_agenda,'',''}}<br> <h4><multi>[en]Show the agenda in the follwong sections?[fr]Afficher l'Agenda pour les articles de quelle rubrique?</multi></h4><br> <fieldset><br> <legend><multi>[en]Which section?[fr]Quelle rubrique?</multi></legend><br> <label><multi>[en]Selection of the section to use :[fr]Choix de la ou des rubriques à utiliser:</multi></label><br> <select name="rubriques_agenda[]" multiple="multiple" size="5"><br> <option value="" [(#GET{wichrub}|?{'',' '})selected="selected"]><br> <multi>[en]none[fr]aucunes</multi><br> </option><br> <BOUCLE_secteurs(RUBRIQUES) {racine} {par titre}><br> <option value="#ID_RUBRIQUE" [(#ID_RUBRIQUE|in_array{#GET{wichrub}}|?{' selected="selected"'})] style="font-weight: bold;"><br> <strong><multi>[en]root[fr]racine</multi> #ID_RUBRIQUE : #TITRE</strong><br> </option><br> <br> <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par titre}><br> <option [(#ID_RUBRIQUE|in_array{#GET{wichrub}}|?{' selected="selected"'})] value="#ID_RUBRIQUE"><br> <multi>[en]section[fr]rubrique</multi> #ID_RUBRIQUE : #TITRE<br> </option><br> <BOUCLE_sous_rubriques(BOUCLE_rubriques)></BOUCLE_sous_rubriques><br> </BOUCLE_rubriques><br> </BOUCLE_secteurs><br> </select><br> </fieldset><br> <br> <input type="submit" name="_cfg_ok" value="<:OK:>" /><br> <input type="reset" value="<:Reset:>" /><br> <input type="submit" name="_cfg_delete" value="<:Supprimer:>" /><br> </form><br> </script></code> <p>et dans : \plugins\agenda_1_9_2\agenda.php la fonction Agenda_affiche_milieu (ligne 46) :</p> <code class="echappe-js"><script>function Agenda_affiche_milieu($flux) {<br> if (_request('exec')=='articles'){<br> //on teste si cfg est actif<br> if (function_exists(lire_config)) {<br> $arracfgrubriques_gis=lire_config("agenda/rubriques_agenda",' ');<br> global $id_article;<br> if ($id_article!=''){<br> //on cherche la rubrique de l'article<br> $s = spip_query("SELECT id_rubrique FROM spip_articles WHERE id_article=$id_article");<br> $row = spip_fetch_array($s);<br> $id_rubrique = $row['id_rubrique'];<br> //et si la rubrique est dans l'arrayrub<br> if (in_array($id_rubrique, $arracfgrubriques_gis)) {<br> include_spip('inc/calendar');<br> include_spip('inc/agenda_gestion');<br> $id_article = $flux['args']['id_article'];<br> $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article),'articles');<br> }<br> } <br> }else {<br> include_spip('inc/calendar');<br> include_spip('inc/agenda_gestion');<br> $id_article = $flux['args']['id_article'];<br> $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article),'articles');<br> }<br> }<br> return $flux;<br> }</script></code> <p>et ajouter</p> <code class="echappe-js"><script>'supprimer' => 'delete',</script></code> <p>dans squelettes/lang/local_en.php</p> <p>Je ne suis pas certain que mon adaptation est parfaite. Notamment dans</p> <code class="echappe-js"><script>[(#REM) descriptif=<br> <h4><multi>Agenda in which sections ?</multi></h4><br> <multi>Which section will be used?</multi><br> <br /><br> <a href="http://www.spip-contrib.net/Plugin-Agenda" class="spip_out">Documentation Agenda</a><br> ]</script></code> <p>ou je n'ai pas résussi à mettre la traduction en français, car dés que je mets les</p> <code class="echappe-js"><script>[]</script></code> <p>il y a tout qui foire et si je mets</p> <code class="echappe-js"><script><:agenda_section:></script></code> <p>avec des traductions dans les fichiers langues dans squelettes/lang, les trad ne s'affichent pas. Je les ai donc laissé en anglais.</p> <p>Salutations</p> <p>Rainer</p>