Formulaire et #ENV

Bonjour,

J'ai remodelé le formulaire de recherche que j'appelle de cette façon : [(#FORMULAIRE_RECHERCHE)]

Mais je n'arrive a lui passer une variable d'environnement en paramètre.

Auriez vous une méthode pour le faire ?? (Autre que copier le contenu du formulaire dans le squelette et l'adapter, je ne trouve pas çà très propre bien que çà fonctionne)

Merci

Mickael Bertainchant a écrit :

J'ai remodelé le formulaire de recherche que j'appelle de cette façon : [(#FORMULAIRE_RECHERCHE)]

Mais je n'arrive a lui passer une variable d'environnement en paramètre.
Auriez vous une méthode pour le faire ??

As tu essayé [(#FORMULAIRE_RECHERCHE{variabledenvironnement})]
ou [(#FORMULAIRE_RECHERCHE{variable=valeur})]
?
à récupérer avec #ENV{variable} dans le squel du formulaire.

(Autre que copier le contenu du formulaire dans le squelette et l'adapter, je ne trouve pas çà très propre bien que çà fonctionne)

Si tu veux qu'il prenne en compte un nouveau paramètre,
il faudra bien recréer une nouvelle version du formulaire
dans ton squelette, non ?

JLuc

Re,

J'ai testé des le debut [(#FORMULAIRE_RECHERCHE{variabledenvironnement})] sans succes.

J'ai réussi a résoudre ce problème en créant au même niveau d'arborescence que mon formulaire un fichier PHP contenant une fonction qui lui est donc associé lors de l'appel.

Mon squelette de recherche :

<div>Categorie : #ENV{categ}</div>
<div>Action : #ENV{action}</div>
<div class="formulaire_spip formulaire_recherche" id="formulaire_recherche">
    <form action="[(#ENV{action})]" method="get">
        <div>
            [(#ENV{action}|form_hidden)]
            [<input type="hidden" name="lang" value="(#ENV{lang})" />]
            [<input type="hidden" name="categ" value="(#ENV{categ})" />]
            [(#REM)<label for="recherche"><:info_rechercher_02:></label>]
            <div id="markouel">
                <input type="text" class="text" name="recherche" id="recherche"[ value="[(#ENV{recherche}|sinon{<:info_rechercher:>})]" onfocus='this.value = "";' onblur='if (this.value == "") { this.value = "[(#ENV{recherche}|sinon{<:info_rechercher:>})]"; }' />
                <input type="submit" class="submit" value="OK" title="<:info_rechercher:>" />
            </div>
        </div>
    </form>
</div>

Ma fonction PHP :

<?php

function formulaires_recherche_charger_dist(){
    $valeurs = array();
    $valeurs['categ'] = $_GET['categ'];
    $valeurs['action'] = 'spip.php?page=recherche';
    return $valeurs;
}

?>

Ici on appel juste le formluaire ainsi : #FORMULAIRE_RECHERCHE

Ont pourrait aller plus loin en améliorant cet appel avec des passage en paramètre.

Si vous voulez de plus amples informations , je me suis basé sur cette page ci : La fonction charger() des formulaires CVT - SPIP

Cordialement.

JLuc a écrit :

Mickael Bertainchant a écrit :

J'ai remodelé le formulaire de recherche que j'appelle de cette façon : [(#FORMULAIRE_RECHERCHE)]

Mais je n'arrive a lui passer une variable d'environnement en paramètre.
Auriez vous une méthode pour le faire ??

As tu essayé [(#FORMULAIRE_RECHERCHE{variabledenvironnement})]
ou [(#FORMULAIRE_RECHERCHE{variable=valeur})]
?
à récupérer avec #ENV{variable} dans le squel du formulaire.

(Autre que copier le contenu du formulaire dans le squelette et l'adapter, je ne trouve pas çà très propre bien que çà fonctionne)

Si tu veux qu'il prenne en compte un nouveau paramètre,
il faudra bien recréer une nouvelle version du formulaire
dans ton squelette, non ?

JLuc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc