Comment obliger la couche visible (layer.php) à le rester ?

Bonjour,
Je réutilise le fichier layer.php de la 1.9 afin d'avoir le mêmes type de présentation que dans l'espace privé : le petit triangle qui une fois cliqué, découvre dans l'article les mots clés par exemple.
Pas de problème pour appeler les forum par exemple mais je ne parviens pas à obtenir un comportement normal pour les formulaires.

Par exemple avec écrire_auteur le code (extrait significatif) est :

=============================================================
<?php
  // inclusion du script de gestion des layers de SPIP
    include 'squel_vv/biopics/inc_layer.php';
    afficher_script_layer();
  ?>
<BOUCLE_5auteur(AUTEURS) {id_article=#_article:ID_ARTICLE}>
    <?php
    echo bouton_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<a href=\"javascript:swap_couche('$compteur_block', '$spip_lang_rtl');\" title=\"Cliquez pour d&#233;plier ou replier le formulaire\">Nous contacter</a>";

    // Bloc invisible
    echo debut_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<div style=\"margin-left:2px;\">";
      echo "<div class=\"formulaire_spip formulaire_ecrire_auteur\">";
      echo "<a id=\"formulaire_ecrire_auteur#ID_AUTEUR\" name=\"formulaire_ecrire_auteur#ID_AUTEUR\"></a>";

      ?>
      #FORMULAIRE_ECRIRE_AUTEUR
  <?php echo "</div></div>";
      
    // Fin du bloc
    echo fin_block();

?>

Cela fonctionne mais à chaque rechargement de page (validation, message d'erreur....) le triangle ferme la couche.

M'a question est donc comment obliger la couche visible à le rester ?

Merci de vos éclairages.

Pierre

salut,
voila ce que je fais en 1.8.3 qui devrait toujours marcher en 1.9 (?) :

<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_visible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_visible)],
  le contenu invisible
  </div>
</div>
avec dans mes_fonctions :
function str_cat($texte1, $texte2=''){
  return $texte1.$texte2;
}

si tu n'as pas d'id, tu peux utiliser :
   [(#NOOP**|str_cat{une_chaine_unique}|md5|bouton_block_visible)]
  
pour les invisibles, ben ...
<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_invisible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_invisible)],
  le contenu invisible
  </div>
</div>

comme ca, tu peux faire "facilement" du conditionnel :

<div>
  <div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_invisible)]})]<:texte:>
  </div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|debut_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|debut_block_invisible)]})]
  </div>
</div>

charge à toi de faire le bon test pour visible/invisible (la, je l'utilise dans un formulaire, donc je teste la _request et je pose dans le contexte "block_visible"=>" " pour "ouvrir" la boite

Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...

@++

Pierre FICHES a écrit :

Bonjour,
Je réutilise le fichier layer.php de la 1.9 afin d'avoir le mêmes type de présentation que dans l'espace privé : le petit triangle qui une fois cliqué, découvre dans l'article les mots clés par exemple.
Pas de problème pour appeler les forum par exemple mais je ne parviens pas à obtenir un comportement normal pour les formulaires.

Par exemple avec écrire_auteur le code (extrait significatif) est :

=============================================================
<?php
  // inclusion du script de gestion des layers de SPIP
    include 'squel_vv/biopics/inc_layer.php';
    afficher_script_layer();
  ?>
<BOUCLE_5auteur(AUTEURS) {id_article=#_article:ID_ARTICLE}>
    <?php
    echo bouton_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<a href=\"javascript:swap_couche('$compteur_block', '$spip_lang_rtl');\" title=\"Cliquez pour d&#233;plier ou replier le formulaire\">Nous contacter</a>";

    // Bloc invisible
    echo debut_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<div style=\"margin-left:2px;\">";
      echo "<div class=\"formulaire_spip formulaire_ecrire_auteur\">";
      echo "<a id=\"formulaire_ecrire_auteur#ID_AUTEUR\" name= \"formulaire_ecrire_auteur#ID_AUTEUR\"></a>";

      ?>
      #FORMULAIRE_ECRIRE_AUTEUR
  <?php echo "</div></div>";
      
    // Fin du bloc
    echo fin_block();

?>

Cela fonctionne mais à chaque rechargement de page (validation, message d'erreur....) le triangle ferme la couche.

M'a question est donc comment obliger la couche visible à le rester ?

Merci de vos éclairages.

Pierre

Merci de ta réponse. Je n'ai pas eu le temps de m'en occuper mais ce que tu dis est très intéressant bien que je ne connaissent pas la balise NOOP par exemple.
Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...je suis bien d'accord.
Je vais tester cette piste dès demain.
Pierre

Le 12 juin 06 à 23:52, Stephane LAURENT a écrit :

salut,
voila ce que je fais en 1.8.3 qui devrait toujours marcher en 1.9 (?) :

<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_visible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_visible)],
  le contenu invisible
  </div>
</div>
avec dans mes_fonctions :
function str_cat($texte1, $texte2=''){
  return $texte1.$texte2;
}

si tu n'as pas d'id, tu peux utiliser :
   [(#NOOP**|str_cat{une_chaine_unique}|md5|bouton_block_visible)]
  
pour les invisibles, ben ...
<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_invisible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_invisible)],
  le contenu invisible
  </div>
</div>

comme ca, tu peux faire "facilement" du conditionnel :

<div>
  <div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_invisible)]})]<:texte:>
  </div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|debut_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|debut_block_invisible)]})]
  </div>
</div>

charge à toi de faire le bon test pour visible/invisible (la, je
l'utilise dans un formulaire, donc je teste la _request et je pose dans
le contexte "block_visible"=>" " pour "ouvrir" la boite

Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...

@++

Pierre FICHES a écrit :

Bonjour,
Je réutilise le fichier layer.php de la 1.9 afin d'avoir le mêmes
type de présentation que dans l'espace privé : le petit triangle qui
une fois cliqué, découvre dans l'article les mots clés par exemple.
Pas de problème pour appeler les forum par exemple mais je ne
parviens pas à obtenir un comportement normal pour les formulaires.

Par exemple avec écrire_auteur le code (extrait significatif) est :

=============================================================
<?php
  // inclusion du script de gestion des layers de SPIP
    include 'squel_vv/biopics/inc_layer.php';
    afficher_script_layer();
  ?>
<BOUCLE_5auteur(AUTEURS) {id_article=#_article:ID_ARTICLE}>
    <?php
    echo bouton_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<a href=\"javascript:swap_couche('$compteur_block',
'$spip_lang_rtl');\" title=\"Cliquez pour d&#233;plier ou replier le
formulaire\">Nous contacter</a>";

    // Bloc invisible
    echo debut_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<div style=\"margin-left:2px;\">";
      echo "<div class=\"formulaire_spip formulaire_ecrire_auteur\">";
      echo "<a id=\"formulaire_ecrire_auteur#ID_AUTEUR\" name=
\"formulaire_ecrire_auteur#ID_AUTEUR\"></a>";

      ?>
      #FORMULAIRE_ECRIRE_AUTEUR
  <?php echo "</div></div>";
      
    // Fin du bloc
    echo fin_block();

?>

Cela fonctionne mais à chaque rechargement de page (validation,
message d'erreur....) le triangle ferme la couche.

M'a question est donc comment obliger la couche visible à le rester ?

Merci de vos éclairages.

Pierre

Le 13 juin 06, à 23:10, Pierre FICHES a écrit :

Merci de ta réponse. Je n'ai pas eu le temps de m'en occuper mais ce
que tu dis est très intéressant bien que je ne connaissent pas la
balise NOOP par exemple.
Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...je
suis bien d'accord.

http://www.spip-contrib.net/spikini/PagePrincipale?wiki=PasDansLaDoc

claude

Je vais tester cette piste dès demain.
Pierre

Le 12 juin 06 à 23:52, Stephane LAURENT a écrit :

salut,
voila ce que je fais en 1.8.3 qui devrait toujours marcher en 1.9
(?) :

<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_visible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_visible)],
  le contenu invisible
  </div>
</div>
avec dans mes_fonctions :
function str_cat($texte1, $texte2=''){
  return $texte1.$texte2;
}

si tu n'as pas d'id, tu peux utiliser :
   [(#NOOP**|str_cat{une_chaine_unique}|md5|bouton_block_visible)]
  
pour les invisibles, ben ...
<div>
  <div>
   [(#ID_TRUC**|str_cat{truc}|md5|bouton_block_invisible)] #TITRE
  </div>
  [(#ID_TRUC**|str_cat{truc}|md5|debut_block_invisible)],
  le contenu invisible
  </div>
</div>

comme ca, tu peux faire "facilement" du conditionnel :

<div>
  <div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|bouton_block_invisible)]})]<:texte:>
  </div>
[(#ENV**{block_visible}|?{
   [(#NOOP**|str_cat{xxx}|md5|debut_block_visible)],
   [(#NOOP**|str_cat{xxx}|md5|debut_block_invisible)]})]
  </div>
</div>

charge à toi de faire le bon test pour visible/invisible (la, je
l'utilise dans un formulaire, donc je teste la _request et je pose
dans
le contexte "block_visible"=>" " pour "ouvrir" la boite

Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...

@++

Pierre FICHES a écrit :

Bonjour,
Je réutilise le fichier layer.php de la 1.9 afin d'avoir le mêmes
type de présentation que dans l'espace privé : le petit triangle qui
une fois cliqué, découvre dans l'article les mots clés par exemple.
Pas de problème pour appeler les forum par exemple mais je ne
parviens pas à obtenir un comportement normal pour les formulaires.

Par exemple avec écrire_auteur le code (extrait significatif) est :

=============================================================
<?php
  // inclusion du script de gestion des layers de SPIP
    include 'squel_vv/biopics/inc_layer.php';
    afficher_script_layer();
  ?>
<BOUCLE_5auteur(AUTEURS) {id_article=#_article:ID_ARTICLE}>
    <?php
    echo bouton_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<a href=\"javascript:swap_couche('$compteur_block',
'$spip_lang_rtl');\" title=\"Cliquez pour d&#233;plier ou replier le
formulaire\">Nous contacter</a>";

    // Bloc invisible
    echo debut_block_invisible("formulaire_ecrire_auteur#ID_AUTEUR");
      echo "<div style=\"margin-left:2px;\">";
      echo "<div class=\"formulaire_spip formulaire_ecrire_auteur\">";
      echo "<a id=\"formulaire_ecrire_auteur#ID_AUTEUR\" name=
\"formulaire_ecrire_auteur#ID_AUTEUR\"></a>";

      ?>
      #FORMULAIRE_ECRIRE_AUTEUR
  <?php echo "</div></div>";
      
    // Fin du bloc
    echo fin_block();

?>

Cela fonctionne mais à chaque rechargement de page (validation,
message d'erreur....) le triangle ferme la couche.

M'a question est donc comment obliger la couche visible à le rester ?

Merci de vos éclairages.

Pierre

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Pierre FICHES a écrit :

Merci de ta réponse. Je n'ai pas eu le temps de m'en occuper mais ce que tu dis est très intéressant bien que je ne connaissent pas la balise NOOP par exemple.

tu peux mettre #TOTO, ca marchera aussi, enfin, si il n'y a pas de champ toto dans le contexte d'appel, quoi que dans mon exemple, ca marcherait quand meme puisque c'est juste pour construire l'id du div.

Le principe, c'est que pour appeler un filtre il faut une balise, meme si elle ne correspond à rien et fait donc un return ''.
Le premier parametre du filtre sera une chaine vide, c'est tout.

Pour info, c'est NOOP pour "no operation", ca a été discuté un moment sur spip-dev je crois, et on a retenu NOOP pour les appels de filtres et REM pour les commentaires.

Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...je suis bien d'accord.
Je vais tester cette piste dès demain.
Pierre

dlatr a écrit :

Le 13 juin 06, à 23:10, Pierre FICHES a écrit :

Merci de ta réponse. Je n'ai pas eu le temps de m'en occuper mais ce
que tu dis est très intéressant bien que je ne connaissent pas la
balise NOOP par exemple.
Ca meriterait peut etre d'etre posé sur un wiki ou dans une doc ...je
suis bien d'accord.

http://www.spip-contrib.net/spikini/PagePrincipale?wiki=PasDansLaDoc

claude

ah oui, noop et rem sont expliqués la.

Par contre, ce qu'on peut faire en standard et qui n'est pas expliqué, c'est ca :
<div>
  [(#ID_ARTICLE**|bouton_block_visible)] #TITRE
  [(#ID_ARTICLE**|debut_block_visible)]
  contenu du block visible/invisible
  </div>
</div>

sachant qu'il vaut mieux passer par un str_cat en plus pour eviter que le depliant du document 12 n'ouvre le depliant de l'article 12

Mais il faudrait voir si ca marche encore en 1.9, sinon, ca vaut pas le coup de documenter ...

@++

spip-bounces@rezo.net wrote:

Pour info, c'est NOOP pour "no operation", ca a été discuté
un moment sur spip-dev je crois, et on a retenu NOOP pour les
appels de filtres et REM pour les commentaires.

9a a d'ailleurs été épique ! #REM est reservé dans le code de SPIP pour les
commentaires (elle retourne toujours '' - vide), je ne sais pas si #NOOP à
été intégré de la même manière.

Olivier GENDRIN a écrit :

spip-bounces@rezo.net wrote:

Pour info, c'est NOOP pour "no operation", ca a été discuté
un moment sur spip-dev je crois, et on a retenu NOOP pour les
appels de filtres et REM pour les commentaires.

9a a d'ailleurs été épique ! #REM est reservé dans le code de SPIP pour les
commentaires (elle retourne toujours '' - vide), je ne sais pas si #NOOP à
été intégré de la même manière.

Ah finalement il y a un test pour REM ?
pas de trace de NOOP dans le code en tous cas.

faudrait plutot utiliser REM alors si ca simplifie les calculs à la compilation ...

En gros, il faudrait donc utiliser REM et NOOP en developpement, mais en prod, supprimer les REM et remplacer NOOP par REM

@++

spip-bounces@rezo.net wrote:

Ah finalement il y a un test pour REM ?
pas de trace de NOOP dans le code en tous cas.

Ligne 1037 de
Connexion · GitLab pour
#REM.

faudrait plutot utiliser REM alors si ca simplifie les calculs à la
compilation ...

En gros, il faudrait donc utiliser REM et NOOP en
developpement, mais en prod, supprimer les REM et remplacer NOOP par
REM

Non, il serait préférable de supplier les dev de faire suivre la définition
de REM par celle de NOOP (ça serait plus lisible).

@++

Le 14 juin 06 à 15:15, Olivier GENDRIN a écrit :

spip-bounces@rezo.net wrote:

Ah finalement il y a un test pour REM ?
pas de trace de NOOP dans le code en tous cas.

Ligne 1037 de
Connexion · GitLab pour
#REM.

faudrait plutot utiliser REM alors si ca simplifie les calculs à la
compilation ...

En gros, il faudrait donc utiliser REM et NOOP en
developpement, mais en prod, supprimer les REM et remplacer NOOP par
REM

Non, il serait préférable de supplier les dev de faire suivre la définition
de REM par celle de NOOP (ça serait plus lisible).

J'explore donc la piste proposée par Stéphane :
Je suis revenu à mon point de départ avec cette méthode différente.
Ce que j'ai fait :
1 - Appel de layer.js dans le header
2 - Collage dans mes_fonctions de la fonction str_cat ainsi que du contenu du fichier layer.php
3 - La boucle :
<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}
<BOUCLE_2contact(AUTEURS){id_article}>
<div>
   [(#ENV**{block_visible}|?{
    [(#REM**|str_cat{contact}|md5|bouton_block_visible)],
    [(#REM**|str_cat{contact}|md5|bouton_block_invisible)]})]
    <a href="javascript:swap_couche('$compteur_block', '$spip_lang_rtl');" title="test"> #TITRE</a>
</div>

   [(#ENV**{block_visible}|?{
    [(#REM**|str_cat{contact}|md5|debut_block_visible)],
    [(#REM**|str_cat{contact}|md5|debut_block_invisible)]})]
  #FORMULAIRE_ECRIRE_AUTEUR
  
</div>
[(#REM**|str_cat{contact}|md5|fin_block)]

</BOUCLE_2contact>
</BOUCLE_contactmail>

4 - Le problème est qu'à chaque validation du formulaire, la couche se referme. Je devrais surement faire des tests pour indiquer au js qu'il toujours dans la couche visible mais je bloque et ne vois pas quoi tester. Pourriez-vous m'éclairer ?

Pierre FICHES a écrit :

Le 14 juin 06 à 15:15, Olivier GENDRIN a écrit :

spip-bounces@rezo.net wrote:

Ah finalement il y a un test pour REM ?
pas de trace de NOOP dans le code en tous cas.

Ligne 1037 de
Connexion · GitLab balises.php pour
#REM.

faudrait plutot utiliser REM alors si ca simplifie les calculs à la
compilation ...

En gros, il faudrait donc utiliser REM et NOOP en
developpement, mais en prod, supprimer les REM et remplacer NOOP par
REM

Non, il serait préférable de supplier les dev de faire suivre la définition
de REM par celle de NOOP (ça serait plus lisible).

J'explore donc la piste proposée par Stéphane :
Je suis revenu à mon point de départ avec cette méthode différente.
Ce que j'ai fait :
1 - Appel de layer.js dans le header

oui

2 - Collage dans mes_fonctions de la fonction str_cat ainsi que du contenu du fichier layer.php

oui, sinon :
include_ecrire("inc_layer.php3");

3 - La boucle :
<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}
<BOUCLE_2contact(AUTEURS){id_article}>

> <div>
> [(#ENV**{block_visible}|?{
> [(#REM**|str_cat{contact}|md5|bouton_block_visible)],
> [(#REM**|str_cat{contact}|md5|bouton_block_invisible)]})]
> <a href="javascript:swap_couche('$compteur_block',
> '$spip_lang_rtl');" title="test"> #TITRE</a>
c'est quoi ce swap couche ?
squelette = HTML, il risque pas de mettre qqchose à la place de $compteur_block ni $spip_lang_rtl...

> </div>
>
> [(#ENV**{block_visible}|?{
> [(#REM**|str_cat{contact}|md5|debut_block_visible)],
> [(#REM**|str_cat{contact}|md5|debut_block_invisible)]})]
> #FORMULAIRE_ECRIRE_AUTEUR
>
> </div>
> [(#REM**|str_cat{contact}|md5|fin_block)]
>
> </BOUCLE_2contact>
> </BOUCLE_contactmail>

vu la boucle, tu risque d'avoir plusieurs fois les auteurs hors le formulaire lui ne depend que des auteurs (et encore, c'est pas vraiment exploitable vu les variables passées en post)

1- je te conseille de prendre id_mot ET id_auteur pour nommer le bloc, sinon en cliquant, tu risque d'ouvrir plusieurs boites

2- il faut bidouiller un peu le formulaire ecrire_auteur pour avoir une variable de retour exploitable pour identifier la boite à rouvrir

En gros, il faut faire une version à laquelle tu passes un identifiant qui soit ajouter en input hidden.
par exemple, [(#FORMULAIRE_ECRIRE_AUTEUR2{[(#ID_AUTEUR|str_cat{ecrire_auteur}|str_cat{#ID_MOT})]})]

donc copier/coller de inc-formulaire_ecrire_auteur.php3 et formulaire_ecrire_auteur.html dans /squelettes et renommage en ecrire_auteur2
renommage de tout ce qui est ECRIRE_AUTEUR en ECRIRE_AUTEUR2

la fonction stat recupere cette valeur dans le filtre, la passe à la fonction dyn (qui recoit donc maintenant 4 parametres):

function balise_FORMULAIRE_ECRIRE_AUTEUR2_dyn($id_auteur, $id_article, $mail,$retour) {

qui l'ajoute au tableau :

  return
    array('formulaire_ecrire_auteur', 0,
      array(
      'retour' => $retour,
      'id' => $id,
      'mailko' => $mailko ? $puce : '',
      'mail' => $adres,
      'sujetko' => ($texte && !$sujet) ? $puce : '',
      'sujet' => $sujet,
      'texte' => $texte,
      'valide' => ($validable ? $id : ''),
      'bouton' => (_T('form_prop_envoyer')),
      'boutonconfirmation' => ($validable ?
        _T('form_prop_confirmer_envoi') :
        '')
      )
    );

dans formulaire_ecrire_auteur.html :

[<input type="hidden" name="retour" value="(#ENV{retour})"/>]

et donc au final, ta boucle devient :

<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}
<div>
  #TITRE
  <BOUCLE_2contact(AUTEURS){id_article}>
  <div>
   <div>
     [(#ENV{retour}|tester_retour_ecrire_auteur{#ID_AUTEUR,#ID_MOT}|?{
[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|bouton_block_visible)],
[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|bouton_block_invisible)]})]
      #TITRE
   </div>

     [(#ENV{retour}|tester_retour_ecrire_auteur{#ID_AUTEUR,#ID_MOT}|?{
[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|debut_block_visible)],
[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|debut_block_invisible)]})]
    #FORMULAIRE_ECRIRE_AUTEUR
    
  </div>

  </BOUCLE_2contact>
</div>
</BOUCLE_contactmail>

avec dans mes_fonction :
function tester_retour_ecrire_auteur($retour,$id_auteur,$id_mot){
if ($retour==$id_auteur."ecrire_auteur".$id_mot) return " ";
else return "";
}

4 - Le problème est qu'à chaque validation du formulaire, la couche se referme. Je devrais surement faire des tests pour indiquer au js qu'il toujours dans la couche visible mais je bloque et ne vois pas quoi tester. Pourriez-vous m'éclairer ?

Y vois tu plus clair maintenant ?

@++

Le 14 juin 06 à 22:03, Stephane LAURENT a écrit :

2 - Collage dans mes_fonctions de la fonction str_cat ainsi que du
contenu du fichier layer.php

oui, sinon :
include_ecrire("inc_layer.php3");

En fait j'avais fait cela au départ pour intégrer la contrib envoyer l'url de l'article par mail (http://www.uzine.net/spip_contrib/article.php3?id_article=187) mais cela générait des doubles déclarations lorsque j'ai voulu intégrer le formulaire écrire_auteur dans une nouvelle couche d'où le bidouillage dans mes_fonctions.
En plus depuis j'ai intégré le formulaire de forum qui appelle des script en cascade, ce qui m'a obligé à renommer toutes les fonctions et à utiliser un fichier mail.php en renommant les fonctions là aussi. ça marche (j'ai encore un conflit de couche à régler avec le plugin barre-typo-enrichie) mais ça tourne un peu à l'usine à gaz.

3 - La boucle :
<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}
<BOUCLE_2contact(AUTEURS){id_article}>
<div>
   [(#ENV**{block_visible}|?{
    [(#REM**|str_cat{contact}|md5|bouton_block_visible)],
    [(#REM**|str_cat{contact}|md5|bouton_block_invisible)]})]
    <a href="javascript:swap_couche('$compteur_block',
'$spip_lang_rtl');" title="test"> #TITRE</a>

c'est quoi ce swap couche ?

C'est issu de la première contrib

squelette = HTML, il risque pas de mettre qqchose à la place de
$compteur_block ni $spip_lang_rtl...

Oui, c'était mon prochain chantier...

</div>

   [(#ENV**{block_visible}|?{
    [(#REM**|str_cat{contact}|md5|debut_block_visible)],
    [(#REM**|str_cat{contact}|md5|debut_block_invisible)]})]
  #FORMULAIRE_ECRIRE_AUTEUR
  
</div>
[(#REM**|str_cat{contact}|md5|fin_block)]

</BOUCLE_2contact>
</BOUCLE_contactmail>

vu la boucle, tu risque d'avoir plusieurs fois les auteurs hors le
formulaire lui ne depend que des auteurs (et encore, c'est pas vraiment
exploitable vu les variables passées en post)

1- je te conseille de prendre id_mot ET id_auteur pour nommer le bloc,
sinon en cliquant, tu risque d'ouvrir plusieurs boites

2- il faut bidouiller un peu le formulaire ecrire_auteur pour avoir une
variable de retour exploitable pour identifier la boite à rouvrir

En gros, il faut faire une version à laquelle tu passes un identifiant
qui soit ajouter en input hidden.
par exemple,
[(#FORMULAIRE_ECRIRE_AUTEUR2{[(#ID_AUTEUR|str_cat{ecrire_auteur}|str_cat{#ID_MOT})]})]

donc copier/coller de inc-formulaire_ecrire_auteur.php3 et
formulaire_ecrire_auteur.html dans /squelettes et renommage en
ecrire_auteur2
renommage de tout ce qui est ECRIRE_AUTEUR en ECRIRE_AUTEUR2

la fonction stat recupere cette valeur dans le filtre, la passe à la
fonction dyn (qui recoit donc maintenant 4 parametres):

function balise_FORMULAIRE_ECRIRE_AUTEUR2_dyn($id_auteur, $id_article,
$mail,$retour) {

qui l'ajoute au tableau :

  return
    array('formulaire_ecrire_auteur', 0,
      array(
      'retour' => $retour,
      'id' => $id,
      'mailko' => $mailko ? $puce : '',
      'mail' => $adres,
      'sujetko' => ($texte && !$sujet) ? $puce : '',
      'sujet' => $sujet,
      'texte' => $texte,
      'valide' => ($validable ? $id : ''),
      'bouton' => (_T('form_prop_envoyer')),
      'boutonconfirmation' => ($validable ?
        _T('form_prop_confirmer_envoi') :
        '')
      )
    );

dans formulaire_ecrire_auteur.html :

[<input type="hidden" name="retour" value="(#ENV{retour})"/>]

et donc au final, ta boucle devient :

<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}
<div>
  #TITRE
  <BOUCLE_2contact(AUTEURS){id_article}>
  <div>
   <div>
     [(#ENV{retour}|tester_retour_ecrire_auteur{#ID_AUTEUR,#ID_MOT}|?{

[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|bouton_block_visible)],

[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|bouton_block_invisible)]})]
      #TITRE
   </div>

     [(#ENV{retour}|tester_retour_ecrire_auteur{#ID_AUTEUR,#ID_MOT}|?{

[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|debut_block_visible)],

[(#ID_AUTEUR**|str_cat{ecrire_auteur}|str_cat{#ID_MOT}|md5|debut_block_invisible)]})]
    #FORMULAIRE_ECRIRE_AUTEUR
    
  </div>

  </BOUCLE_2contact>
</div>
</BOUCLE_contactmail>

avec dans mes_fonction :
function tester_retour_ecrire_auteur($retour,$id_auteur,$id_mot){
if ($retour==$id_auteur."ecrire_auteur".$id_mot) return " ";
else return "";
}

4 - Le problème est qu'à chaque validation du formulaire, la couche
se referme. Je devrais surement faire des tests pour indiquer au js
qu'il toujours dans la couche visible mais je bloque et ne vois pas
quoi tester. Pourriez-vous m'éclairer ?

Y vois tu plus clair maintenant ?

Je crois bien que oui. Et ce qu'il y a de bien c'est que j'ai du boulot pour demain :slight_smile:
Merci beaucoup.

Le 14 juin 06 à 22:03, Stephane LAURENT a écrit :

4 - Le problème est qu'à chaque validation du formulaire, la couche
se referme. Je devrais surement faire des tests pour indiquer au js
qu'il toujours dans la couche visible mais je bloque et ne vois pas
quoi tester. Pourriez-vous m'éclairer ?

Y vois tu plus clair maintenant ?

Bonjour Stéphane et à tout le monde,

La mise en oeuvre de ta méthode me pose quelques soucis.
Voici ce que j'ai fait :

1 - renommage de formulaire_ecrire_auteur.html et .php en formulaire_contact_auteur.html et . php (pour une raison non-déterminée il semble que formulaire_ecrire_auteur2 ne permettent pas de le distingué de formulaire_ecrire_auteur).

2 - modif de formulaire_contact_auteur.php :
  2-1 - Dans les 4 occurences majuscules FORMULAIRE_ECRIRE_AUTEUR remplacement de ECRIRE par CONTACT.
  2-2 - Ajouts : de , $retour ligne 59 : function balise_FORMULAIRE_CONTACT_AUTEUR_dyn($id_auteur, $id_article, $mail, $retour) {
              et de 'retour' => $retour, juste après le début de l'array ligne 87
  
3 - modif de formulaire_contact_auteur.htlm :
  3-1 - ligne 17 : juste après le commentaire indiquant la partie prévisualisation du formulaire j'ai collé cette ligne :
          [<input type="hidden" name="retour" value="(#ENV{retour})" />]
(et juste avant [<input type="hidden" name="num_formulaire_ecrire_auteur" value="(#ENV{valide})" />] préexistant. Si cette ligne est supprimée le système des couche ne marche pas mieux mais on reste bloqué à la phase de prévisualisation)

nota j'ai testé que les messages soient bien envoyés, j'ai également place des #ENV{retour} dans les différente partie du formulaire qui semblent indiquer un fonctionnement normal : la chaine idauteur+texte+idmot est donnée en résultat de la balise.

4 - Insertion dans mes_fonctions de la fonction "tester_retour_ecrire_auteur" tel que ( plus tard modifiée: remplacement de la chaîne "ecrire_auteur" par "formulaire_contact_auteur" et inversion de idmot et idarticle).
note : si je remplace else return ""; par else return "test"; alors le test dans le squelette inscrit oui et le formulaire se présente ouvert et le reste.

5 - Insertion de la boucle dans le squelette : ========================================================================
<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}>
<BOUCLE_2contact(AUTEURS){id_article}>
<div>[(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})][(#REM) testons le test]

    <div>
      [(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|bouton_block_visible2)],[(#_contactmail:ID_MOT**|str_cat{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|bouton_block_invisible2)]})]
       #TITRE
[(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT,#ID_AUTEUR**}|?{'oui','non'})][(#REM) testons le test]<br />
#ENV**{retour}
    </div>

      [(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|debut_block_visible2)],[(#_contactmail:ID_MOT**|str_cat{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|debut_block_invisible2)]})]

  [(#FORMULAIRE_CONTACT_AUTEUR{[(#_contactmail:ID_MOT**|str_cat{formulaire_contact_auteur}|str_cat{#ID_AUTEUR})]})]
  [(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})]
</div>
[(#ENV**{retour}|tester_retour_ecrire_auteur{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{[(#ID_AUTEUR**|str_cat{}|str_cat{}|md5|fin_block2)],[(#ID_AUTEUR**|str_cat{}|str_cat{}|md5|fin_block2)]})] </div>

</BOUCLE_2contact>
               </BOUCLE_contactmail>

note #ENV est remplacé par #ENV** sinon le premier chevron est écrit sous forme d'une entitées html dans le code de la page et ça marche pas : script type="text/javascript"> remplace le triangle

6 - Le résultat c'est que ça ne fonctionne pas en l'état. La couche se présente fermée mais il faut la réouvrir à chaque phase.
Pour voir le résultat c'est ici : http://s149242290.onlinehome.fr/spip19/spip.php?article1
identifiants : Visiteur (2 fois).

Merci encore pour ton aide et celle de celle et ceux qui voudront bien.

Pierre

Pierre FICHES a écrit :

1 - renommage de formulaire_ecrire_auteur.html et .php en formulaire_contact_auteur.html et . php (pour une raison non- déterminée il semble que formulaire_ecrire_auteur2 ne permettent pas de le distingué de formulaire_ecrire_auteur).

bizarre ca deja ...
mais bon, le nom importe peu importe le nom si c'est bien le meme que dans la fonction

2 - modif de formulaire_contact_auteur.php :
  2-1 - Dans les 4 occurences majuscules FORMULAIRE_ECRIRE_AUTEUR remplacement de ECRIRE par CONTACT.
  2-2 - Ajouts : de , $retour ligne 59 : function balise_FORMULAIRE_CONTACT_AUTEUR_dyn($id_auteur, $id_article, $mail, $retour) {
              et de 'retour' => $retour, juste après le début de l'array ligne 87
  
3 - modif de formulaire_contact_auteur.htlm :
  3-1 - ligne 17 : juste après le commentaire indiquant la partie prévisualisation du formulaire j'ai collé cette ligne :
          [<input type="hidden" name="retour" value="(#ENV{retour})" />]
(et juste avant [<input type="hidden" name="num_formulaire_ecrire_auteur" value="(#ENV{valide})" />] préexistant. Si cette ligne est supprimée le système des couche ne marche pas mieux mais on reste bloqué à la phase de prévisualisation)

nota j'ai testé que les messages soient bien envoyés, j'ai également place des #ENV{retour} dans les différente partie du formulaire qui semblent indiquer un fonctionnement normal : la chaine idauteur+texte +idmot est donnée en résultat de la balise.

donc jusqu'ici tout baigne

4 - Insertion dans mes_fonctions de la fonction "tester_retour_ecrire_auteur" tel que ( plus tard modifiée: remplacement de la chaîne "ecrire_auteur" par "formulaire_contact_auteur" et inversion de idmot et idarticle).
note : si je remplace else return ""; par else return "test"; alors le test dans le squelette inscrit oui et le formulaire se présente ouvert et le reste.

5 - Insertion de la boucle dans le squelette : ========================================================================
<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}>
<BOUCLE_2contact(AUTEURS){id_article}>
<div>[(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})][(#REM) testons le test]

    <div>
      [(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat {formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5| bouton_block_visible2)],[(#_contactmail:ID_MOT**|str_cat {formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5| bouton_block_invisible2)]})]
       #TITRE
[(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT,#ID_AUTEUR**}|?{'oui','non'})][(#REM) testons le test]<br />
#ENV**{retour}
    </div>

      [(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat {formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5| debut_block_visible2)],[(#_contactmail:ID_MOT**|str_cat {formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5| debut_block_invisible2)]})]

  [(#FORMULAIRE_CONTACT_AUTEUR{[(#_contactmail:ID_MOT**|str_cat {formulaire_contact_auteur}|str_cat{#ID_AUTEUR})]})]
  [(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})]

c'est quoi ces ** sur ID_MOT ?
pas necessaire, mais bon, ca ne doit pas changer grand chose

</div>
[(#ENV**{retour}|tester_retour_ecrire_auteur {#_contactmail:ID_MOT**,#ID_AUTEUR}|?{[(#ID_AUTEUR**|str_cat{}|str_cat {}|md5|fin_block2)],[(#ID_AUTEUR**|str_cat{}|str_cat{}|md5| fin_block2)]})] </div>

</BOUCLE_2contact>
               </BOUCLE_contactmail>
======================================================================== ======================================
note #ENV est remplacé par #ENV** sinon le premier chevron est écrit

oui, c'est bien comme ca, puisque c'est le retour du filtre tester_retour qui est au final renvoyé, et il contient du javascript.

et d'après ce que tu decris, quand tu valides, retour n'est pas recu par le formulaire ... j'en deduirais qu'il n'est pas envoyé

sous forme d'une entitées html dans le code de la page et ça marche pas : script type="text/javascript"> remplace le triangle

ce que je ne comprend pas, c'est ou tu as mis ton input.

Je teste et quand je fais submit, j'ai :

adresse=test%40adequates.com
nom=test
from=test%40adequates.com
statut=ok

pas trace de retour.
c'est la qu'est l'os je suppose.

si tu mets un [(#ENV{retour})] dans le squelette du formulaire, il ne t'affichera rien quand tu fais envoyer.

Mais j'ai pas vu le squelette du formulaire (c'est pas /squelettes ...) donc je ne peux que supposer.

ils sont ou ces fichers ?

@++

6 - Le résultat c'est que ça ne fonctionne pas en l'état. La couche se présente fermée mais il faut la réouvrir à chaque phase.
Pour voir le résultat c'est ici : http://s149242290.onlinehome.fr/ spip19/spip.php?article1
identifiants : Visiteur (2 fois).

Merci encore pour ton aide et celle de celle et ceux qui voudront bien.

Pierre

Le 16 juin 06 à 00:27, Stephane LAURENT a écrit :

Pierre FICHES a écrit :

1 - renommage de formulaire_ecrire_auteur.html et .php en
formulaire_contact_auteur.html et . php (pour une raison non-
déterminée il semble que formulaire_ecrire_auteur2 ne permettent pas
de le distingué de formulaire_ecrire_auteur).

bizarre ca deja ...
mais bon, le nom importe peu importe le nom si c'est bien le meme que
dans la fonction

2 - modif de formulaire_contact_auteur.php :
  2-1 - Dans les 4 occurences majuscules FORMULAIRE_ECRIRE_AUTEUR
remplacement de ECRIRE par CONTACT.
  2-2 - Ajouts : de , $retour ligne 59 : function
balise_FORMULAIRE_CONTACT_AUTEUR_dyn($id_auteur, $id_article, $mail,
$retour) {
              et de 'retour' => $retour, juste après le début de l'array
ligne 87
  
3 - modif de formulaire_contact_auteur.htlm :
  3-1 - ligne 17 : juste après le commentaire indiquant la partie
prévisualisation du formulaire j'ai collé cette ligne :
          [<input type="hidden" name="retour" value="(#ENV{retour})" />]
(et juste avant [<input type="hidden"
name="num_formulaire_ecrire_auteur" value="(#ENV{valide})" />]
préexistant. Si cette ligne est supprimée le système des couche ne
marche pas mieux mais on reste bloqué à la phase de prévisualisation)

nota j'ai testé que les messages soient bien envoyés, j'ai également
place des #ENV{retour} dans les différente partie du formulaire qui
semblent indiquer un fonctionnement normal : la chaine idauteur+texte
+idmot est donnée en résultat de la balise.

donc jusqu'ici tout baigne

4 - Insertion dans mes_fonctions de la fonction
"tester_retour_ecrire_auteur" tel que ( plus tard modifiée:
remplacement de la chaîne "ecrire_auteur" par
"formulaire_contact_auteur" et inversion de idmot et idarticle).
note : si je remplace else return ""; par else return "test"; alors
le test dans le squelette inscrit oui et le formulaire se présente
ouvert et le reste.

5 - Insertion de la boucle dans le squelette :

<BOUCLE_contactmail(MOTS){id_article}{titre=Contact}>
<BOUCLE_2contact(AUTEURS){id_article}>
<div>[(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})][(#REM) testons
le test]

    <div>
      [(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat
{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|
bouton_block_visible2)],[(#_contactmail:ID_MOT**|str_cat
{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|
bouton_block_invisible2)]})]
       #TITRE
[(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT,#ID_AUTEUR**}|?{'oui','non'})][(#REM) testons
le test]<br />
#ENV**{retour}
    </div>

      [(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT,#ID_AUTEUR}|?{[(#_contactmail:ID_MOT**|str_cat
{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|
debut_block_visible2)],[(#_contactmail:ID_MOT**|str_cat
{formulaire_contact_auteur}|str_cat{#ID_AUTEUR}|md5|
debut_block_invisible2)]})]

  [(#FORMULAIRE_CONTACT_AUTEUR{[(#_contactmail:ID_MOT**|str_cat
{formulaire_contact_auteur}|str_cat{#ID_AUTEUR})]})]
  [(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{'oui','non'})]

c'est quoi ces ** sur ID_MOT ?
pas necessaire, mais bon, ca ne doit pas changer grand chose

</div>
[(#ENV**{retour}|tester_retour_ecrire_auteur
{#_contactmail:ID_MOT**,#ID_AUTEUR}|?{[(#ID_AUTEUR**|str_cat{}|str_cat
{}|md5|fin_block2)],[(#ID_AUTEUR**|str_cat{}|str_cat{}|md5|
fin_block2)]})] </div>

</BOUCLE_2contact>
               </BOUCLE_contactmail>

======================================
note #ENV est remplacé par #ENV** sinon le premier chevron est écrit

oui, c'est bien comme ca, puisque c'est le retour du filtre
tester_retour qui est au final renvoyé, et il contient du javascript.

et d'après ce que tu decris, quand tu valides, retour n'est pas recu par
le formulaire ... j'en deduirais qu'il n'est pas envoyé

sous forme d'une entitées html dans le code de la page et ça marche
pas : script type="text/javascript"> remplace le triangle

ce que je ne comprend pas, c'est ou tu as mis ton input.

Je teste et quand je fais submit, j'ai :

adresse=test%40adequates.com
nom=test
from=test%40adequates.com
statut=ok

pas trace de retour.
c'est la qu'est l'os je suppose.

si tu mets un [(#ENV{retour})] dans le squelette du formulaire, il ne
t'affichera rien quand tu fais envoyer.

Mais j'ai pas vu le squelette du formulaire (c'est pas /squelettes ...)
donc je ne peux que supposer.

ils sont ou ces fichers ?

le dossier squelette est assez inaccessible mais j'ai fais un article des deux principaux scripts.

Le "schéma" est le suivant : un squelette article, le "pavé services" est un inclure dont le code est là :
http://s149242290.onlinehome.fr/spip19/spip.php?article=45
le formulaire_contact_auteur.html est ici :
http://s149242290.onlinehome.fr/spip19/spip.php?article=46
J'ai ajouté la première ligne à l'image de la troisième mais l'id d'une ancre commençant par un chiffre n'est apparemment pas valide. L'input est à la 29e lignes sur l'article.

Voilà, tu sais tout normalement.
@+ également.

@++

6 - Le résultat c'est que ça ne fonctionne pas en l'état. La couche
se présente fermée mais il faut la réouvrir à chaque phase.
Pour voir le résultat c'est ici : http://s149242290.onlinehome.fr/
spip19/spip.php?article1
identifiants : Visiteur (2 fois).

J'ai enfin corrigé mon probleme avec ma rubrique cinéma
Le lecteur y gagne aussi en rapidité et en clarté

Par contre je me retrouve avec une trentaine de rubriques supplémentaires
affichées en permanence, pas tres esthétique

N'y aurait il pas un moyen de n'afficher que les sous rubriques de la
rubrique courante et afficher seulement les titres des autres rubriques ?

2e question :

Elle s'adresse surtout à vincent pour le squelette blip

Serait il possible d'apporter sur la future version la suggestion de modif
graphique suivante :
Présentation actuelle :
Nouveauté - 4 visiteurs aujourd'hui - Aucun commentaire

C'est-à-dire ajouter a coté de la popularité (nombre de visiteurs) un nombre
d'etoiles entre 1 et 5 qui noterait la popularité des articles par rubriques

C'est-à-dire que plus un article a de visiteurs ... Il a 5 étoiles dans la
rubrique
Et inversement celui qui a le moins de visiteurs n'a pas d'étoile
Et pour différencier les nouveautés , c'est-à-dire 0 visiteurs... Par
exemple ajouter un logo NEW ?
(lié à la date de publication , par exemple nouveau sur 7, 14 ou 30 jours )
Ce pour attirer tout de suite le regard du visiteur quand il ouvre une
rubrique
Il faudrait calculer les étoiles par rubrique (par rapport à l'article le
plus visité du site ca n'aurait pas de sens)

3è question :

Maintenant que je commence à sortir la tête de mes problemes d'affichage sur
free avec spip,
Je reviens sur le probleme de blip quand on insere une photo au milieu du
texte d'un article

Quel fichier faut il modifier avec quel code pour qu'ils reprennent les
styles de spip
Surtout en centré pour les images pleines et les vignettes

thanksss

A bientot,

Olivier Quenec'hdu
_____________________________
E-mail olivier@quenechdu.com
Web http://www.quenechdu.com

spip-bounces@rezo.net wrote:

J'ai enfin corrigé mon probleme avec ma rubrique cinéma Le
lecteur y gagne aussi en rapidité et en clarté

Par contre je me retrouve avec une trentaine de rubriques
supplémentaires affichées en permanence, pas tres esthétique

N'y aurait il pas un moyen de n'afficher que les sous
rubriques de la rubrique courante et afficher seulement les titres
des autres rubriques ?

Si, c'est possible, mais sans avoir plus d'informations sur le contexte, ça
va être dur.

<BOUCLE_rubriques (RUBRIQUES) {id_parent}> ?

bonjour,

N'y aurait il pas un moyen de n'afficher que les sous
rubriques de la rubrique courante et afficher seulement les titres
des autres rubriques ?

si j'ai bien compris, on jouant avec #EXPOSE cela doit être possible,
de mémoire dans les squelettes de la 1.9, il devrait y avoir une
boucle qui fait çà...
cad, elle déplit l'arbo des rubrique jusqu'a la rubrique courante et
montre son contenu, et pour les autres ne montre que les rubriques
racine

On 6/16/06, Olivier GENDRIN <o.gendrin@novactive.com> wrote:

spip-bounces@rezo.net wrote:
> J'ai enfin corrigé mon probleme avec ma rubrique cinéma Le
> lecteur y gagne aussi en rapidité et en clarté
>
> Par contre je me retrouve avec une trentaine de rubriques
> supplémentaires affichées en permanence, pas tres esthétique
>
> N'y aurait il pas un moyen de n'afficher que les sous
> rubriques de la rubrique courante et afficher seulement les titres
> des autres rubriques ?

Si, c'est possible, mais sans avoir plus d'informations sur le contexte, ça
va être dur.

<BOUCLE_rubriques (RUBRIQUES) {id_parent}> ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Pierre FICHES a écrit :

le dossier squelette est assez inaccessible mais j'ai fais un article des deux principaux scripts.

Le "schéma" est le suivant : un squelette article, le "pavé services" est un inclure dont le code est là :
http://s149242290.onlinehome.fr/spip19/spip.php?article=45
le formulaire_contact_auteur.html est ici :
http://s149242290.onlinehome.fr/spip19/spip.php?article=46
J'ai ajouté la première ligne à l'image de la troisième mais l'id d'une ancre commençant par un chiffre n'est apparemment pas valide. L'input est à la 29e lignes sur l'article.

bon, comment tu fais :
[<input type="hidden" name="retour" value="(#ENV{retour})" />]
[<input type="hidden" name="num_formulaire_contact_auteur" value="(#ENV{valide})" />]

si il n'y a pas de valeur, il n'y a pas de input.

commence par mettre :
<input type="hidden" name="retour" value="[(#ENV{retour})]" />
<input type="hidden" name="num_formulaire_contact_auteur" value="[(#ENV{valide})]" />

comme ca, tu verras mieux ce qui se passe.

Ca me parait assez evident que, contrairement à ce que tu indiquais, [(#ENV{retour})] n'est pas dans le contexte.

C'est donc plutot le code de l'appel du formulaire et inc-formulaire qu'il faut regardé.

J'ai du dire une betise au niveau du passage de parametre, mais je n'ai rien testé de tout ce que je raconte ... et thunderbird, c'est pas l'outil de dev ideal.
:o)

Tu peux m'envoyer un package par mail si tu veux, je jeterai un oeil ce WE

@++

Olivier Quenec'hdu a écrit :

2e question :

Elle s'adresse surtout à vincent pour le squelette blip

Serait il possible d'apporter sur la future version la suggestion de modif
graphique suivante :
Présentation actuelle : Nouveauté - 4 visiteurs aujourd'hui - Aucun commentaire

Heu en fait ces élèments disparaisse, il sera cependant d'inclure un module affichant toutes les caractèristiques d'un article, mais ce module ne sera visible que depuis la page de l'article et donc les stats de l'articles vont disparaître du résumé.

C'est-à-dire ajouter a coté de la popularité (nombre de visiteurs) un nombre
d'etoiles entre 1 et 5 qui noterait la popularité des articles par rubriques

Envoie moi le code adéquate je l'étudierais avec soin.

C'est-à-dire que plus un article a de visiteurs ... Il a 5 étoiles dans la
rubrique
Et inversement celui qui a le moins de visiteurs n'a pas d'étoile Et pour différencier les nouveautés , c'est-à-dire 0 visiteurs... Par
exemple ajouter un logo NEW ? (lié à la date de publication , par exemple nouveau sur 7, 14 ou 30 jours )
Ce pour attirer tout de suite le regard du visiteur quand il ouvre une
rubrique

Ce sont des artifices inutile, le système de tri des articles remplace avantageusement ceci.

3è question :

Maintenant que je commence à sortir la tête de mes problemes d'affichage sur
free avec spip,
Je reviens sur le probleme de blip quand on insere une photo au milieu du
texte d'un article

Quel fichier faut il modifier avec quel code pour qu'ils reprennent les
styles de spip Surtout en centré pour les images pleines et les vignettes

Ceci sera corrigé sur BliP 2.0.

--
Vincent ROBERT - www.cent20.net (SPIP & Squelette BliP)