Pour une fois que j'ai une réponse, je me rue sur mon mail
<ul>
<BOUCLE_zonegeo(SPIP_GEO_PAYS){id_pays IN #CONFIG{mon_area}|spip_explode{','}}>
<li>#ID_PAYS</li>
</BOUCLE_zonegeo>
</ul>
et dans ton fichier mes_options
/*! \brief explode() pour spip
*
* Surcharge de la fonction php explode(), pour être utilisé par php
* Remarque : L'appel de filtre passe toujours le texte source en premier
* (c'est le compilateur qui fait ça tout seul)=> il faut inverser
les paramètres d'explode qui elle attend le texte en second d'où
spip_explode
*
* \param $texte balise fournit par le compilateur
* \param $separateur pattern
* \return tableau décomposé par $separateur
*/
function spip_explode($texte,$separateur){
return explode($separateur,$texte);
}
J'avais eu le même pb pour doc2img, cedric m'avait dépanné à l'époque.
Il faut donner à IN un tableau or ton champ area est sauvé comme une
chaîne de caractères.
Le explode permet de faire la conversion chaîne vers tableau. Le
explode php à les arguments inversé par rapport à la logique SPIP la
fonction explode propre à SPIP.
Le 21 déc. 07 à 16:23, cam.lafit@azerttyu.net a écrit :
Bonjour
Pour une fois que j'ai une réponse, je me rue sur mon mail
<ul>
<BOUCLE_zonegeo(SPIP_GEO_PAYS){id_pays IN #CONFIG{mon_area}|spip_explode{','}}>
<li>#ID_PAYS</li>
</BOUCLE_zonegeo>
</ul>
et dans ton fichier mes_options
/*! \brief explode() pour spip
*
* Surcharge de la fonction php explode(), pour être utilisé par php
* Remarque : L'appel de filtre passe toujours le texte source en premier
* (c'est le compilateur qui fait ça tout seul)=> il faut inverser
les paramètres d'explode qui elle attend le texte en second d'où
spip_explode
*
* \param $texte balise fournit par le compilateur
* \param $separateur pattern
* \return tableau décomposé par $separateur
*/
function spip_explode($texte,$separateur){
return explode($separateur,$texte);
}
J'avais eu le même pb pour doc2img, cedric m'avait dépanné à l'époque.
Il faut donner à IN un tableau or ton champ area est sauvé comme une
chaîne de caractères.
Le explode permet de faire la conversion chaîne vers tableau. Le
explode php à les arguments inversé par rapport à la logique SPIP la
fonction explode propre à SPIP.
Merci mille fois ça marche , ça ne devrais pas intégrer la doc d'ailleurs ?
j'ai utilisé le mes_fonctions plutôt que le mes_options.
Est-ce pareils où vaut il mieux utiliser mes_options ?
@+
pierre
ps : avec IN #CONFIG**{mon_area} ça ne marche pas par contre
C'est une super idée que tu as eu il faudrait être fou pour ne pas l'utiliser
BOUCLE_zonegeo(GEO_PAYS)....> ne fonctionne pas, il faut bien le préfixe SPIP si on veut un résultat.
Mmmh es tu sur d'être à jour?
oui je suis en 193 : 10984 et j'ai mis à jour le plugin ce matin.
J'ai commité une modif sur inscription2 1.9.3 pour vérifier et ca marche ... tu es en 1.9.2?
j'ai fais la modif sur controleurs/pays.html suppression du préfixe spip mais...
J'avais depuis longtemps un bug sur l'affichage de ce champs côté public lorsque l'on affiche la fiche modifiable via :
[(#SESSION{id_auteur}|?{' ',''})<INCLURE(inc/profil_adherent.php){id_auteur=#SESSION{id_auteur}}>]
C'est #ID_PAYS qui s'affiche à la place de #PAYS...
Ce que je ne comprend pas c'est que la modification pratiqué (suppression du préfixe SPIP_ dans la boucle ne change rien) j'en déduit qu'avec inscription2 ce n'est pas le plugin spip_géo qui est utilisé car ailleurs sur le site j'utilise une boucle qui utilise spip-géo de façon certaine et si j'enlève le préfixe la boucle ne produit pas de résultat.
Je reviens sur spip_geo : je ne peux pas modifier le téléphone avec crayon j'ai beau chercher je ne trouve pas d'où viens le bug.
Encore une chose il y a un autre script qui utilise ou devrait le utiliser spip_geo dans inscription2 c'est vues/pays.html
Par ailleurs, cette boucle : #SET{selected,#CONFIG{port/zonegeo/zone_un,'',''}}
<BOUCLE_zonegeo-continent(SPIP_GEO_CONTINENT){par id_continent}>
<optgroup label="[(#CONTINENT)]">
<BOUCLE_zonegeo(SPIP_GEO_PAYS){id_continent}{par pays}>
<option value="#ID_PAYS"[(#ID_PAYS|in_array{#GET{selected}}|?{' selected="selected"'})]>#ID_PAYS : #PAYS</option>
</BOUCLE_zonegeo>
</optgroup>
</BOUCLE_zonegeo-continent>
donne des optgroup #CONTINENT sous la forme :
<multi>[fr]Afrique[en] ....</multi>
Je ne sais pas comment les afficher correctement. As tu prévu un dispositif particulier ?
Essaie d'applique le filtre typo ou propre ca devrait traiter les multis normalement...