Souci avec le #FORMULAIRE_INSCRIPTION

Bonjour,

dans le cadre du partage de mes squelettes (www.istorhabreiz.levillage.org)
j'aimerai inclure la possibilité de participer au site (dont moi je n'ai
pour l'instant pas besoin) mais je voudrai un truc plus conséquent que le
#FORMULAIRE_INSCRIPTION et son petit texte par défaut...

j'ai donc créer un couple participer.html/participer.php3

jusque là tout va bien, maintenant je voudrai que sous mon menu sommaire,
apparaisse une petite phrase :

"Vous souhaitez participer à l'enrichissement du site en proposant vos
articles, merci de visitez cette page :
PARTICIPER (lien vers participer.php3)"

et quand ils vont sur la page ils ont une charte éditoriale et le fameux
formulaire...

Mais voilà c'est une option qui ne dit pas être toujours visible, or ma
fameuse petite phrase n'intègre aucune balise spip donc impossible de jouer
avec [( )] en tout cas je ne crois pas...

Donc la question est comment puis-je rendre l'affichage de la petite phrase
conditionnel à l'activation ou non dans l'admin de la possibilité de
s'inscrire ???

Gwendal

et je partage une astuce peu orthodoxe pour ceux que cela intéresserait...

J'ai donc utilisé le classique :

[ Texte avant avec lien vers page participer.php3 (#FORMULAIRE_INSCRIPTION)]

mais je ne voulais pas qu'il affiche le formulaire activé ou non... donc
j'ai créé un nouveau style css, .hiddenform avec pour seul caractéristique
la fonction display=none, je l'applique à la balise du formulaire et hop il
ne s'affiche plus quoiqu'il arrive :wink:

Voici ce que cela donne en code

[ Texte avant avec lien vers page participer.php3 <span class="hiddenform"

(#FORMULAIRE_INSCRIPTION)</span>]

et dans la css, c'est un truc du genre :

.hiddenform { display=none; }

voilà c'est un peu tordu mais tout simple et à part le css, aucune
connaissance php requise et on touche pas au noyau spip tout se passe dans
les squelettes...

Si vous voulez afficher cette astuce sur les sites spip dédiés aux astuces
ne vous privé pas :wink:

Gwendal

"Gwendal" <gwendal.boule1@free.fr> a écrit dans le message de
news:begvhi$r58$1@main.gmane.org...

Bonjour,

dans le cadre du partage de mes squelettes

(www.istorhabreiz.levillage.org)

j'aimerai inclure la possibilité de participer au site (dont moi je n'ai
pour l'instant pas besoin) mais je voudrai un truc plus conséquent que le
#FORMULAIRE_INSCRIPTION et son petit texte par défaut...

j'ai donc créer un couple participer.html/participer.php3

jusque là tout va bien, maintenant je voudrai que sous mon menu sommaire,
apparaisse une petite phrase :

"Vous souhaitez participer à l'enrichissement du site en proposant vos
articles, merci de visitez cette page :
PARTICIPER (lien vers participer.php3)"

et quand ils vont sur la page ils ont une charte éditoriale et le fameux
formulaire...

Mais voilà c'est une option qui ne dit pas être toujours visible, or ma
fameuse petite phrase n'intègre aucune balise spip donc impossible de

jouer

avec [( )] en tout cas je ne crois pas...

Donc la question est comment puis-je rendre l'affichage de la petite

phrase

conditionnel à l'activation ou non dans l'admin de la possibilité de
s'inscrire ???

Gwendal

----------------------------------------------------------------------------
----

Le mer 09/07/2003 à 18:45, Gwendal a écrit :

J'ai donc utilisé le classique :

[ Texte avant avec lien vers page participer.php3 (#FORMULAIRE_INSCRIPTION)]

mais je ne voulais pas qu'il affiche le formulaire activé ou non... donc
j'ai créé un nouveau style css, .hiddenform avec pour seul caractéristique
la fonction display=none, je l'applique à la balise du formulaire et hop il
ne s'affiche plus quoiqu'il arrive :wink:

  Désolé de n'avoir pas répondu avant, je n'avais pas vu passer cette
question, mais plutôt que de balancer tout le formulaire, en caché, il
serait plus simple de le filtrer :
[Texte avant avec lien vers page participer.php3 (#FORMULAIRE_INSCRIPTION|rien)]

et dans mes_fonctions.php3
function rien() {
  echo " ";
}

nan ?

À+, Pif.

ah oui tiens c'est pas mal ça j'aurai du y penser mais mes_fonctions et moi
on s'oublie la plupart du temps :wink:

Gwendal

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1057770418.26323.302.camel@pmd-pc38.dev.atos.fr...

Le mer 09/07/2003 à 18:45, Gwendal a écrit :
> J'ai donc utilisé le classique :
>
> [ Texte avant avec lien vers page participer.php3

(#FORMULAIRE_INSCRIPTION)]

>
> mais je ne voulais pas qu'il affiche le formulaire activé ou non... donc
> j'ai créé un nouveau style css, .hiddenform avec pour seul

caractéristique

> la fonction display=none, je l'applique à la balise du formulaire et hop

il

> ne s'affiche plus quoiqu'il arrive :wink:
  Désolé de n'avoir pas répondu avant, je n'avais pas vu passer cette
question, mais plutôt que de balancer tout le formulaire, en caché, il
serait plus simple de le filtrer :
[Texte avant avec lien vers page participer.php3

(#FORMULAIRE_INSCRIPTION|rien)]

et dans mes_fonctions.php3
function rien() {
  echo " ";
}

nan ?

À+, Pif.

----------------------------------------------------------------------------
----

Je suis pas très bon en php et ça marche pas voici mon filtre :

<?php

/*
* +----------------------------------+
* Nom du Filtre : Ne Rien afficher
* +----------------------------------+
* Date : mercredi 9 juillet 2003
* Auteur : Gwendal + gwendal.boule1@free.fr
* +-------------------------------------+
* Fonctions de ce filtre :
* Il peut arriver que l'on souhaite utiliser une balise SPIP mais sans
afficher ce qui va avec,
* ce fut mon cas pour la balise #FORMULAIRE_INSCRIPTION dont je
souhaitais utiliser la condition
* activer les inscriptions de l'administration, sans afficher le
formulaire, grâce à ce filtre c'est possible
* +-------------------------------------+
*/

function ne_rien_afficher ($nodisplay) {
$nodisplay = echo "";
return $nodisplay;
}
// FIN du Filtre Ne Rien Afficher

?>

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1057770418.26323.302.camel@pmd-pc38.dev.atos.fr...

Le mer 09/07/2003 à 18:45, Gwendal a écrit :
> J'ai donc utilisé le classique :
>
> [ Texte avant avec lien vers page participer.php3

(#FORMULAIRE_INSCRIPTION)]

>
> mais je ne voulais pas qu'il affiche le formulaire activé ou non... donc
> j'ai créé un nouveau style css, .hiddenform avec pour seul

caractéristique

> la fonction display=none, je l'applique à la balise du formulaire et hop

il

> ne s'affiche plus quoiqu'il arrive :wink:
  Désolé de n'avoir pas répondu avant, je n'avais pas vu passer cette
question, mais plutôt que de balancer tout le formulaire, en caché, il
serait plus simple de le filtrer :
[Texte avant avec lien vers page participer.php3

(#FORMULAIRE_INSCRIPTION|rien)]

et dans mes_fonctions.php3
function rien() {
  echo " ";
}

nan ?

À+, Pif.

----------------------------------------------------------------------------
----

Bon j'ai essayé de ne prendre que ce que tu avais mis soit le filtre suivant
:

function nodisplay () {
echo "";

}

alors ça marche il n'affiche pas ce qui avec ce filtre mais il n'affiche pas
non-plus, ce qu'il y a avant la balise, en fait du coup il n'affiche plus
rien :wink:

"Gwendal" <gwendal.boule1@free.fr> a écrit dans le message de news:
behnc1$1vn$1@main.gmane.org...

Je suis pas très bon en php et ça marche pas voici mon filtre :

<?php

/*
* +----------------------------------+
* Nom du Filtre : Ne Rien afficher
* +----------------------------------+
* Date : mercredi 9 juillet 2003
* Auteur : Gwendal + gwendal.boule1@free.fr
* +-------------------------------------+
* Fonctions de ce filtre :
* Il peut arriver que l'on souhaite utiliser une balise SPIP mais

sans

afficher ce qui va avec,
* ce fut mon cas pour la balise #FORMULAIRE_INSCRIPTION dont je
souhaitais utiliser la condition
* activer les inscriptions de l'administration, sans afficher le
formulaire, grâce à ce filtre c'est possible
* +-------------------------------------+
*/

function ne_rien_afficher ($nodisplay) {
$nodisplay = echo "";
return $nodisplay;
}
// FIN du Filtre Ne Rien Afficher

?>

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1057770418.26323.302.camel@pmd-pc38.dev.atos.fr...
> Le mer 09/07/2003 à 18:45, Gwendal a écrit :
> > J'ai donc utilisé le classique :
> >
> > [ Texte avant avec lien vers page participer.php3
(#FORMULAIRE_INSCRIPTION)]
> >
> > mais je ne voulais pas qu'il affiche le formulaire activé ou non...

donc

> > j'ai créé un nouveau style css, .hiddenform avec pour seul
caractéristique
> > la fonction display=none, je l'applique à la balise du formulaire et

hop

il
> > ne s'affiche plus quoiqu'il arrive :wink:
> Désolé de n'avoir pas répondu avant, je n'avais pas vu passer cette
> question, mais plutôt que de balancer tout le formulaire, en caché, il
> serait plus simple de le filtrer :
> [Texte avant avec lien vers page participer.php3
(#FORMULAIRE_INSCRIPTION|rien)]
>
> et dans mes_fonctions.php3
> function rien() {
> echo " ";
> }
>
> nan ?
>
> À+, Pif.
>
>
>

--------------------------------------------------------------------------

--

----

----------------------------------------------------------------------------
----

Le 9/07/03 20:44, « Gwendal » <gwendal.boule1@free.fr> a écrit :

Salut,

Bon j'ai essayé de ne prendre que ce que tu avais mis soit le filtre suivant
:

function nodisplay () {
echo "";

}

alors ça marche il n'affiche pas ce qui avec ce filtre mais il n'affiche pas
non-plus, ce qu'il y a avant la balise, en fait du coup il n'affiche plus
rien :wink:

Et celui là? :wink:

<?php

   /*
    * +----------------------------------+
    * Nom du Filtre : rien
    * +----------------------------------+
    * Date : mercredi 9 juillet 2003
    * Auteurs : Christian Lefebvre + christian.lefebvre@atosorigin.com
    * Gwendal + gwendal.boule1@free.fr
    * +-------------------------------------+
    * Fonctions de ce filtre :
    * Il peut arriver que l'on souhaite utiliser une balise SPIP mais
    * sans afficher ce qui va avec,
    * ce fut mon cas pour la balise #FORMULAIRE_INSCRIPTION dont je
    * souhaitais utiliser la condition
    * activer les inscriptions de l'administration, sans afficher le
    * formulaire, grâce à ce filtre c'est possible
    * +-------------------------------------+
    */
  function rien ($texte) {
  $texte = echo "";
}
// FIN du Filtre rien
?>

--
Dr Philippe Auriol, allergologue
http://www.allergique.org/ Le Monde des Allergies
http://www.weballergies.com/ L'allergie en fiches
http://chercher.weballergies.com/ Chercher l'allergie sur le net

At 20:54 09/07/2003 +0200, Philippe Auriol wrote:

Et celui là? :wink:

  function rien ($texte) {
  $texte = echo "";
}
// FIN du Filtre rien

Ca marche pas plutôt avec $texte = ""; ?
En plus, il me semble qu'echo n'est pas utilisable en tant que fonction, et qu'on le remplace plutôt par print(""), mais je suis juste débutant en PHP... -_-

--
Rene-Gilles Deberdt
kyodai.com & cyna.net

Ben non plus ça marche pas voilà ce que cela affiche :

Participer :
Vous souhaitez enrichir le site par vos articles, merci de visiter cette
page : PARTICIPER Erreur : filtre « rien » non défini

le seul truc qui marche c'est de prendre juste ce que christian avait mis :
function nodisplay () {
echo "";
}

mais cela ne ressemble pas à un filtre fonctionnel sauf que cela empêche
tout ce qu'il y a entre [( )] de s'afficher :wink:

je comprend pas grand chose au filtre, normal vu que je suis nul en php mais
il me semble que de toute façon le filtre s'aplliquera à la totalité de ce
qui se trouve entre [( )] donc cela ne résoud pas mon souci a priori

Gwendal

"Philippe Auriol" <philippe.auriol@wanadoo.fr> a écrit dans le message de
news: BB32317F.1DE33%philippe.auriol@wanadoo.fr...
Le 9/07/03 20:44, « Gwendal » <gwendal.boule1@free.fr> a écrit :

Salut,

Bon j'ai essayé de ne prendre que ce que tu avais mis soit le filtre

suivant

:

function nodisplay () {
echo "";

}

alors ça marche il n'affiche pas ce qui avec ce filtre mais il n'affiche

pas

non-plus, ce qu'il y a avant la balise, en fait du coup il n'affiche plus
rien :wink:

Et celui là? :wink:

<?php

   /*
    * +----------------------------------+
    * Nom du Filtre : rien
    * +----------------------------------+
    * Date : mercredi 9 juillet 2003
    * Auteurs : Christian Lefebvre + christian.lefebvre@atosorigin.com
    * Gwendal + gwendal.boule1@free.fr
    * +-------------------------------------+
    * Fonctions de ce filtre :
    * Il peut arriver que l'on souhaite utiliser une balise SPIP mais
    * sans afficher ce qui va avec,
    * ce fut mon cas pour la balise #FORMULAIRE_INSCRIPTION dont je
    * souhaitais utiliser la condition
    * activer les inscriptions de l'administration, sans afficher le
    * formulaire, grâce à ce filtre c'est possible
    * +-------------------------------------+
    */
  function rien ($texte) {
  $texte = echo "";
}
// FIN du Filtre rien
?>

--
Dr Philippe Auriol, allergologue
http://www.allergique.org/ Le Monde des Allergies
http://www.weballergies.com/ L'allergie en fiches
http://chercher.weballergies.com/ Chercher l'allergie sur le net

serait plus simple de le filtrer :
[Texte avant avec lien vers page participer.php3 (#FORMULAIRE_INSCRIPTION|rien)]

et dans mes_fonctions.php3
function rien() {
  echo " ";
}

nan ?

Nan: car SPIP applique trim() sur tout ce qui bouge, donc l'espace est
transformée en ''. Par contre
<?php
    function rien($texte) {
        return '<!-- rien -->';
    }
?>
devrait marcher

-- Fil

Effectivement il n'affiche pas le formulaire mais le hic c'est que quand tu
désactives les inscriptions, il affiche quand même la petite phrase pour
participer...

Récapitulons,

function nodisplay () {
echo "";
}
--> fonctionne mais il n'affiche rien de ce qui se trouve entre [()]

function rien ($texte) {
  $texte = echo "";
}
--> comme tous ce qui y ressemble = erreur filtre non-défini

function rien($texte) {
        return '<!-- rien -->';
    }
--> le formulaire ne s'affiche pas, bingo mais inscriptions activées ou non,
la petite phrase s'affiche

le seul truc satisfaisant reste donc le CSS...

"Fil" <fil@rezo.net> a écrit dans le message de
news:20030710074047.GA8372@rezo.net...

> serait plus simple de le filtrer :
> [Texte avant avec lien vers page participer.php3

(#FORMULAIRE_INSCRIPTION|rien)]

>
> et dans mes_fonctions.php3
> function rien() {
> echo " ";
> }
>
> nan ?

Nan: car SPIP applique trim() sur tout ce qui bouge, donc l'espace est
transformée en ''. Par contre
<?php
    function rien($texte) {
        return '<!-- rien -->';
    }
?>
devrait marcher

-- Fil

Bon, quand on y réflléchi calmement, ça devient tout de suite lumineux :
- S'il le formulaire est interdit, la balise ne sort rien, et il faut
  alors ne rien sortir pour empécher l'affichage du [()]
- S'il est autorisé, la balise sort des trucs, mais on veut les dégager,
  mais il faut laisser quelquechose pour que le [()] s'affiche, mais ça
  doit être invisible.

Donc :

function rien($texte) {
    if(empty($texte)) {
        return '<!-- rien -->';
    } else {
        return '';
    }
}

Na.
'fin, j'crois :wink:

À+, Pif.