[Résolu] Classé par article de la rubrique et par mot clé associé a la rubrique

Bonjour à tous.tes,

Je bute sur les boucles depuis quelque temps.
Le contexte:
1/ J’ai une rubrique (14) qui liste des vidéos et des podcast qui sont publié dans plusieurs articles de plusieurs rubriques sur le site.

2/ Je décide donc d’afficher les articles pour les regrouper dans la rubrique 14 via une boucle de mot clé N°6.

3/ dans ma rubrique 14, j’aimerai aussi y poster des articles avec vidéos et podcasts

4/ J’aimerais pouvoir y mettre tout ça dans une seul boucle pour pouvoir les classer par date.

resultat qui ne convainc pas :
Pour le moment j’affiche bien les deux boucles , mais elles sont « séparéés » je ne parviens pas à la classer par date toute ensemble, malgré plusieurs tentatives.

voici mon code :

<BOUCLE_articles2(ARTICLES) {id_rubrique}   {par date} {doublons}   {inverse} >
    
<div class="colonne_rub">
<div class="image-container">  
    

<a href="#URL_ARTICLE">
#LOGO_ARTICLE
<h3> #TITRE</h3>
</a> 

</div>
</div> 


<BOUCLE_articles3(ARTICLES) {id_mot=6}  {doublons} {par date} {inverse} >
<div class="colonne_rub">
<div class="image-container">
    
<a href="#URL_ARTICLE">
#LOGO_ARTICLE
<h3> #TITRE</h3>
</a> 

</div>
</div> 
    
</BOUCLE_articles3>


 </BOUCLE_articles2>

Merci de votre aide !

Regarde du côté de #ARRAY - SPIP

1 « J'aime »

Ou bien tu utilises les doublons nommés et les anti-doublons, donc 3 boucles.

1 « J'aime »

Merci pour votre aide à vous deux, n’ayant pas assez de compétence pour écrire une boucle spip de cette nature et pour être totalement transparent je me suis fait aidé par Mistral, je ne sais pas comment se positionne la communauté là-dessus, mais dans ce cas prècis, ça m’a aidé.

Il s’entêtait avec le critère « fusion », avec « Array », il a trouvé rapidement.

Je met le code, si quelqu’un cherche la solution un jour, et aussi si cela intéresse, pour voir si Mistral fait de grosse erreur ou non :

  
    
 [(#ID_RUBRIQUE|=={14}|non)

  <!-- CAS GENERAL : afficher les 3 derniers articles de la rubrique courante -->
  <BOUCLE_articles1(ARTICLES) {id_rubrique}{id_article != 68} {id_article != 1}{doublons} {par date}{inverse} {0,3}>
    <div class="colonne_rub">
      <div class="image-container">
        <a href="#URL_ARTICLE">
          [(#LOGO_ARTICLE|image_recadre{16:9,'-','center center'}|sinon{
            <BOUCLE_img(DOCUMENTS){id_article}{mode=image}{par rang_lien, num titre}{0,1}>
              [(#LOGO_DOCUMENT|image_recadre{16:9,'-','center center'})]
            </BOUCLE_img>
          })]   
          <div class="titre_rub">
            <h3><span class="arrow">&searr;</span> #TITRE</h3>
          </div>
        </a>
      </div>
    </div> 
  </BOUCLE_articles1>

]

[(#ID_RUBRIQUE|=={14}|oui)
  <!-- CAS SPECIAL RUBRIQUE 14: fusionner articles rubrique 14 + mot-clé 6 -->
  [(#SET{les_articles,#ARRAY})]

  <BOUCLE_rub14(ARTICLES){id_rubrique=14}>
    [(#SET{les_articles,#GET{les_articles}|push{#ID_ARTICLE}})]
  </BOUCLE_rub14>

  <BOUCLE_mot6(ARTICLES){id_mot=6}>
    [(#SET{les_articles,#GET{les_articles}|push{#ID_ARTICLE}})]
  </BOUCLE_mot6>

  [(#SET{les_articles,#GET{les_articles}|array_unique})]

  <BOUCLE_affich(ARTICLES){id_article IN #GET{les_articles}}{par date}{inverse}{0,3}>
    <div class="colonne_rub">
      <div class="image-container">
        <a href="#URL_ARTICLE">
          [(#LOGO_ARTICLE|image_recadre{16:9,'-','center center'}|sinon{
            <BOUCLE_img2(DOCUMENTS){id_article}{mode=image}{par rang_lien, num titre}{0,1}>
              [(#LOGO_DOCUMENT|image_recadre{16:9,'-','center center'})]
            </BOUCLE_img2>
          })]   
          <div class="titre_rub">
            <h3><span class="arrow">&searr;</span> #TITRE</h3>
          </div>
        </a>
        <div class="date">
          <BOUCLE_ariane(HIERARCHIE){id_article}> 
            <span class="arrow" style="display:inline;">&rarr;</span> 
            <a href="#URL_RUBRIQUE">[(#TITRE|couper{80})]</a>    
          </BOUCLE_ariane> 
          <br>
        </div>
      </div>
    </div>
  </BOUCLE_affich>

]