Boucle rubrique: Mots clés

Bonjour,

Je n’arrive pas à faire apparaître dans une sous rubrique, à la fois les
articles de la sous rubrique en question et ceux comportant un mot clé
spécifique. Je veux en fait que les 2 types d'article soit confondus
(rangé dans l’ordre inverse et par date par contre) avec toujours le
dernier article à l’écart. En fait, il y a toujours un article à l’écart
(celui comportant le mot clé). Et mon 2° problème c'est que l'article à
pars, se fasse remplacer par un autre article plus récent au lieu de se
décaler d’une place vers le bas de la sous rubrique. J'aimerai donc que
tout les articles ayant un mot clé X et tout les articles de la rubrique
qui m'intéresse soient tous présent sous forme de liste et qu'aucun ne
disparaisse à cause d'un autre article plus récent.
Pour mieux y voir clair: http://www.sie-rra.com/spip.php?rubrique188
(l'article à pars est celui sur la truffe)

Voici une partie de mon code :

  <BOUCLE_desc_rub(RUBRIQUES){id_rubrique}{tout}>
    <div id="descriptif">
      #TEXTE<br>
    </div>
    <?php
      $gauche_vide = false;
    ?>
  </BOUCLE_desc_rub>
    [(#ID_RUBRIQUE|AccesRestreint_rubrique_restreinte|?{' ',''})
<INCLURE{fond=login_public}> ]

    [(#ID_RUBRIQUE|AccesRestreint_rubrique_restreinte|?{'',' '}) <?php
include('inc/msg_404.html'); ?> ]
  <//B_desc_rub>
  <B_articlesT>
    <div class="article"><div class="article_haut"><img src="<?php echo
$COULEUR; ?>/imgs_menuvertical/haut_article.gif" height="10px"
width="100%"></div>
  <BOUCLE_articlesT(ARTICLES){par date}{inverse}{0,1}{id_mot=48}{age<730}>
    <div class="article_contenu">
      <a href="#URL_ARTICLE"
class="telecharger">[(#TITRE|supprimer_numero|supprimer_tags)]</a>
      [(#TEXTE|ptobr|strip_word_html|couper{500})]
      <br>
      <br>
      <?php
        $date_pub = "[(#DATE|affdate)]";
      ?>
      <div align="right">
        <i>
          Publié le <?php echo $date_pub; ?>
          <B_auteursArtT>
          par
          <BOUCLE_auteursArtT(AUTEURS){id_article}{", "}>
            #NOM
          </BOUCLE_auteursArtT>
        </i>
        <br></br>
      </div>
      <?php
        $idArticlePlusRecent = #ID_ARTICLE;
        $gauche_vide = false;
      ?>
    </div>
  </BOUCLE_articlesT>
    <div class="article_bas"><img src="<?php echo $COULEUR;
?>/imgs_menuvertical/bas_article.gif" height="10px"
width="100%"></div></div>
  </B_articlesT>
  <B_autresArticlesT>
    <?php
      $nbAutresArt = 0;
      $pageAutresArt = array();
      $nbPages = 0;
    ?>
  <BOUCLE_autresArticlesT(ARTICLES){id_rubrique=192}{par date}
{inverse}{age<730}>
   <?php
     //echo "<script>alert('id : #ID_ARTICLE titre : #TITRE');</script>";
     if($idArticlePlusRecent != #ID_ARTICLE)
     {
       if($nbAutresArt == 0)
       {
         echo "<div class=\"article\"><div class=\"article_haut\"><img
src=\"$COULEUR/imgs_menuvertical/haut_article.gif\" height=\"10px\"
width=\"100%\"></div><div class=\"article_contenu\">";
         echo "<div id='labelPage' name='labelPage'
class='labelPage'></div>";
         echo "<div id=\"liensPagesHaut\"></div>";
       }
       if(count($pageAutresArt) == $NB_AUTRES_ARTICLES_PAR_PAGE)
       {
         $nbPages++;
         //echo "<script>alert('page $nbPages, $nbAutresArt articles
!!');</script>";
         if($nbPages == 1)
         {
           echo "<div id=\"page$nbPages\" name=\"page$nbPages\">";
         }
         else
         {
           echo "<div id=\"page$nbPages\" name=\"page$nbPages\"
class=\"invisible\">";
         }

         $iTabArt = 0;
         while($iTabArt < count($pageAutresArt))
         {
           echo $pageAutresArt[$iTabArt];
           $iTabArt++;
         }
         echo "</div>";
         $pageAutresArt = array();
       }
       $curArt = '<a href="#URL_ARTICLE"
class="telecharger">[(#TITRE|supprimer_numero|supprimer_tags)]</a>';
       $curArt .= "<div align=\"right\">";

       $date_pub = "[(#DATE|affdate)]";

       $curArt .= "<i>Publi&eacute; le $date_pub</i><br>";

       $curArt .= "</div>";

       $pageAutresArt[] = $curArt;

       $nbAutresArt++;
     }

     $gauche_vide = false;
   ?>
</BOUCLE_autresArticlesT>

Dernière questions: Pour ajouter plusieurs articles comportant plusieurs
mots clés, c’est bien id_mot=...&... ou id_mot=...id_mot=... ?

Merci d’avance !! Votre aide sera très précieuse !
++

Cordialement,

Jérôme Boyer
Assistant informaticien en BTS Informatique de Gestion en alternance
Ministère de l'Agriculture
C.R.I.P.T - Rhônes-Alpes - Section Informatique
Basé au LEGTA de Romans
Route de Tain
26100 Romans sur Isère
Tél. : 0475712530
Fax : 0475715913
jerome.boyer@educagri.fr
____________________________________________________

JEROME BOYER a écrit :

Bonjour,

Je n’arrive pas à faire apparaître dans une sous rubrique, à la fois les
articles de la sous rubrique en question et ceux comportant un mot clé
spécifique. Je veux en fait que les 2 types d'article soit confondus
(rangé dans l’ordre inverse et par date par contre) avec toujours le
dernier article à l’écart. En fait, il y a toujours un article à l’écart
(celui comportant le mot clé). Et mon 2° problème c'est que l'article à
pars, se fasse remplacer par un autre article plus récent au lieu de se
décaler d’une place vers le bas de la sous rubrique. J'aimerai donc que
tout les articles ayant un mot clé X et tout les articles de la rubrique
qui m'intéresse soient tous présent sous forme de liste et qu'aucun ne
disparaisse à cause d'un autre article plus récent.
Pour mieux y voir clair: 
(l'article à pars est celui sur la truffe)

  

Je pense qu’il te faut jouer avec les doublons :
une première boucle qui va chercher les articles de la sous-rubrique avec {doublons A} et on n’affiche rien
une deuxième boucle qui va chercher les articles avec le mot-clé avec {doublons A} et on n’affiche rien

une troisième boucle qui récupère les articles empilés dans doublons A avec {par date} {inverse}et {!doublons A} (note bien le « ! »)
et là on affiche les articles

voir sur Spip-Contrib pour les détails