controleur vue mot clé -> article

Après 2 jours de tentatives ... je demande de l'aide!

En m'inspirant de la page

https://contrib.spip.net/Controleur-Vue-avec-ajaxReload

J'essaie de faire afficher les mots-clés par groupe (qui contiennent un
article lié) du côté du contrôleur et les titres cliquables des articles
liés du côté de la vue

J'ai cette boucle dans le controleur Elle affiche tous les mots même
ceux qui n'ont pas d'articles liés:

<BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}>
<h1>#TITRE</h1>
<BOUCLE_actu(MOTS){id_groupe}{par titre}>
<ul><li><a href="#URL_ARTICLE">#TITRE</a></li></ul>
<BOUCLE_articles(ARTICLES){id_mot}{id_rubrique}>
#TITRE
</BOUCLE_articles>
</BOUCLE_actu>
</BOUCLE_groupes>

et

<a href="#URL_ARTICLE">#TITRE</a> du coté de la vue

actu.js est dans le dossier js et actu.css dans le dossier css

dans inclure/head il y a

[<link rel="stylesheet" href="(#CSS{css/actu.css})" type="text/css" />] et

[<script src="(#CHEMIN{javascript/main.js})"
type="text/javascript"></script>]

Enfin

<INCLURE{fond=inclure/liste_actus, env} />
<INCLURE{fond=inclure/vue_actu, env, ajax=vue_actu} /> sont dans la
rubrique ou je veux faire afficher tout cela

Décidément cela ne

Si tu ne veux que les mots utilisés, il faut faire une jointure dans la table de liens. Et inutile d'afficher les titres des articles dans le controleur.

<BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}>
<B_mots>
<h2>#TITRE</h2>
<ul>
   <BOUCLE_mots(MOTS mots_liens){objet=article}{id_groupe}>
   <li><a href="[(#SELF|parametre_url{id_mot,#ID_MOT})]">#TITRE</a></li>
   </BOUCLE_mots>
</ul>
</B_mots>
</BOUCLE_groupes>

Et dans la vue : <BOUCLE_articles(ARTICLES){id_mot}>

Après si j'ai bien compris, tu veux n'afficher que les articles de la rubrique ? Là ça va être plus compliqué pour le controleur.

Le 07/02/2019 à 23:30, Renée Picard a écrit :

Après 2 jours de tentatives ... je demande de l'aide!

En m'inspirant de la page

Contrôleur - Vue avec ajaxReload - SPIP-Contrib

J'essaie de faire afficher les mots-clés par groupe (qui contiennent un
article lié) du côté du contrôleur et les titres cliquables des articles
liés du côté de la vue

J'ai cette boucle dans le controleur Elle affiche tous les mots même
ceux qui n'ont pas d'articles liés:

<BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}>
<h1>#TITRE</h1>
<BOUCLE_actu(MOTS){id_groupe}{par titre}>
<ul><li><a href="#URL_ARTICLE">#TITRE</a></li></ul>
<BOUCLE_articles(ARTICLES){id_mot}{id_rubrique}>
#TITRE
</BOUCLE_articles>
</BOUCLE_actu>
</BOUCLE_groupes>

et

<a href="#URL_ARTICLE">#TITRE</a> du coté de la vue

actu.js est dans le dossier js et actu.css dans le dossier css

dans inclure/head il y a

[<link rel="stylesheet" href="(#CSS{css/actu.css})" type="text/css" />] et

[<script src="(#CHEMIN{javascript/main.js})"
type="text/javascript"></script>]

Enfin

   <INCLURE{fond=inclure/liste_actus, env} />
<INCLURE{fond=inclure/vue_actu, env, ajax=vue_actu} /> sont dans la
rubrique ou je veux faire afficher tout cela

Décidément cela ne

Merci
Ceci répond bien à mon besoin de faire afficher que les mots-clés
attachés à un article
Correction pour voir les noms des groupes:
ajouter un «s» à #_groupe

<h1>#_groupes:TITRE</h1>
Je ne savais pas qu'on pouvait faire afficher un #TITRE de cette façon. Je vais aller lire sur cela.

Il me reste à faire afficher les liens vers les articles comme avec controleur avec vue

Le 19-02-08 à 04:05, gornety a écrit :

<BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}>
<BOUCLE_actu(MOTS){id_groupe}{par titre}>
<BOUCLE_articles-test(ARTICLES){id_mot}{0,1}> // on teste qu'il y a au moins un article avec le mot-clé
<h1>#_groupe:TITRE</h1> // si oui, on affiche le nom du groupe
<h2>#_actu:TITRE</h2> // et le nom du mmot-clé
<ul>
<BOUCLE_articles(ARTICLES){id_mot}> // alors on va chercher tous les articles...
  <li><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
</BOUCLE_articles-test>
</BOUCLE_actu>
</BOUCLE_groupes>

Mille milliards de merci!
Cela fonctionne

<BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}>
<B_mots>
<h2>#TITRE</h2>
<ul>
<BOUCLE_mots(MOTS mots_liens){objet=article}{id_groupe}>
<li><a href="[(#SELF|parametre_url{id_mot,#ID_MOT})]">#TITRE</a></li>
</BOUCLE_mots>
</ul>
</B_mots>
</BOUCLE_groupes>

Et dans la vue : <BOUCLE_articles(ARTICLES){id_mot}>