Bonjour,
Je souhaite me servir de la boucle « MOTS » pour créer un menu. Ce que je
narrive pas à trouver et que jaimerais bien savoir, cest sil existe un
moyen de recenser sur une page article lensemble des « MOTS » (mots-clés)
contenu dans une rubrique en particulier
Je suis parti de cela <BOUCLE_mots_freres(MOTS) {id_groupe=5} {tout} {par
titre} {pagination 20}> mais peut etre suis-je sur une mauvaise piste.
J'ai bien essayé cela <BOUCLE_mots_freres(MOTS) {branche} {id_groupe=5}
{tout} {par titre} {pagination 20}> mais cela ne marche qu'avec (RUBRIQUES)
Merci de votre aide.
Sébastien a écrit :
Bonjour,
Je souhaite me servir de la boucle « MOTS » pour créer un menu. Ce que je
n’arrive pas à trouver et que j’aimerais bien savoir, c’est s’il existe un
moyen de recenser sur une page article l’ensemble des « MOTS » (mots-clés)
contenu dans une rubrique en particulier…
Je suis parti de cela <BOUCLE_mots_freres(MOTS) {id_groupe=5} {tout} {par
titre} {pagination 20}> mais peut etre suis-je sur une mauvaise piste.
J'ai bien essayé cela <BOUCLE_mots_freres(MOTS) {branche} {id_groupe=5}
{tout} {par titre} {pagination 20}> mais cela ne marche qu'avec (RUBRIQUES)
tu veux les mots clés affectés aux articles d'une rubrique et ses sous-rubriques, c'est ca ?
il y a un critere {frequence_branche} dans le plugin nuage2 (ne pas utiliser, projet jetable) qui devrait faire ton bonheur.
ca doit donner :
<BOUCLE_RUB{id_rubrique}>
<BOUCLE_mots_freres(MOTS) {frequence_branche} {id_groupe=5} {tout} {par titre} {pagination 20}>
en ajoutant dans mes_fonctions :
function critere_frequence_branche($idb, &$boucles, $crit){
$op='';
$boucle = &$boucles[$idb];
$params = $crit->param;
$type = array_shift($params);
$type = $type[0]->texte;
if(preg_match(',^(\w+)([<>=])([0-9]+)$,',$type,$r)){
$type=$r[1];
$op=$r[2];
$op_val=$r[3];
}
$type_id = 'freqb.id_'.$type;
$type_requete = $boucle->type_requete;
$id_table = $boucle->id_table . '.' . $boucle->primary;
$boucle->select= 'COUNT('.$type_id.') AS frequence';
$boucle->from['freqb']="spip_'.$type_requete.'_".$type."s";
$boucle->where= array("'='", "'".$id_table."'", "'freqb.".$boucle->primary."'");
$boucle->from['lf']="spip_".$type."s";
$boucle->where= array("'='", "'".$type_id."'", "'lf.id_".$type."'");
$boucle->group=$id_table;
if ($op)
$boucle->having= array("'".$op."'", "'frequence'",$op_val);
$not = $crit->not;
$boucle = &$boucles[$idb];
$arg = calculer_argument_precedent($idb, 'id_rubrique', $boucles);
$c = "calcul_mysql_in('lf.id_rubrique', calcul_branche($arg), '')";
$c = "($arg ? $c : 1)";
if ($not)
$boucle->where= array("'NOT'", $c);
else
$boucle->where= $c;
}
@++
Sébastien a écrit :
Bonjour,
Je souhaite me servir de la boucle « MOTS » pour créer un menu. Ce que je
n’arrive pas à trouver et que j’aimerais bien savoir, c’est s’il existe un
moyen de recenser sur une page article l’ensemble des « MOTS » (mots-clés)
contenu dans une rubrique en particulier…
Je suis parti de cela <BOUCLE_mots_freres(MOTS) {id_groupe=5} {tout} {par
titre} {pagination 20}> mais peut etre suis-je sur une mauvaise piste.
J'ai bien essayé cela <BOUCLE_mots_freres(MOTS) {branche} {id_groupe=5}
{tout} {par titre} {pagination 20}> mais cela ne marche qu'avec (RUBRIQUES)
Merci de votre aide.
Est-ce que ton menu est arborescent ?
utilises-tu le plugin mots partout ? ou mot partout arbo ?
il y a un critére supplémentaire dans le plugin mots_partout_arbo {branchemot} qui permet d'obtenir la même chose que sur les rubriques avec le critére {branche}
Avec :
<BOUCLE_mots_freres(MOTS) {branchemot} {id_groupe=5} {tout} {par titre}
{pagination 20}>
Aucun de mes mots ne s'affichent !
-----Message d'origine-----
De : Yoann NOGUES [mailto:ml-yoann@advisio-com.fr]
Envoyé : mercredi 19 septembre 2007 14:41
À : Sébastien
Cc : spip@rezo.net
Objet : Re: [Spip] <BOUCLE(MOTS)> et rubrique
Sébastien a écrit :
Bonjour,
Je souhaite me servir de la boucle « MOTS » pour créer un menu. Ce que je
narrive pas à trouver et que jaimerais bien savoir, cest sil existe un
moyen de recenser sur une page article lensemble des « MOTS » (mots-clés)
contenu dans une rubrique en particulier
Je suis parti de cela <BOUCLE_mots_freres(MOTS) {id_groupe=5} {tout} {par
titre} {pagination 20}> mais peut etre suis-je sur une mauvaise piste.
J'ai bien essayé cela <BOUCLE_mots_freres(MOTS) {branche} {id_groupe=5}
{tout} {par titre} {pagination 20}> mais cela ne marche qu'avec
(RUBRIQUES)
Merci de votre aide.
Est-ce que ton menu est arborescent ?
utilises-tu le plugin mots partout ? ou mot partout arbo ?
il y a un critére supplémentaire dans le plugin mots_partout_arbo
{branchemot} qui permet d'obtenir la même chose que sur les rubriques
avec le critére {branche}
__________ Information NOD32 2540 (20070919) __________
Ce message a ete verifie par NOD32 Antivirus System.
Sébastien a écrit :
Avec : <BOUCLE_mots_freres(MOTS) {branchemot} {id_groupe=5} {tout} {par titre}
{pagination 20}>
Aucun de mes mots ne s'affichent !
Est-ce que ton menu est arborescent ?
utilises-tu le plugin mots partout ? ou mot partout arbo ?
Stephane a écrit :
tu veux les mots clés affectés aux articles d'une rubrique et ses sous-rubriques, c'est ca ?
il y a un critere {frequence_branche} dans le plugin nuage2 (ne pas utiliser, projet jetable) qui devrait faire ton bonheur.
ca doit donner :
<BOUCLE_RUB{id_rubrique}>
<BOUCLE_mots_freres(MOTS) {frequence_branche} {id_groupe=5} {tout} {par titre} {pagination 20}>
euh j'ai un peu de mal a saisir ce que donne ce critére ...
tu aurais pas un exemple de requéte sql produite en passant ce critére ? sinon je regarderai ca avec plugin nuage pour comprendre mieux...
j'ai vraiment du mal avec ces critères 
Yoann NOGUES a écrit :
Stephane a écrit :
tu veux les mots clés affectés aux articles d'une rubrique et ses sous-rubriques, c'est ca ?
il y a un critere {frequence_branche} dans le plugin nuage2 (ne pas utiliser, projet jetable) qui devrait faire ton bonheur.
ca doit donner :
<BOUCLE_RUB{id_rubrique}>
<BOUCLE_mots_freres(MOTS) {frequence_branche} {id_groupe=5} {tout} {par titre} {pagination 20}>
euh j'ai un peu de mal a saisir ce que donne ce critére ...
ben faut essayer, comme ca me fait un betatesteur...

tu aurais pas un exemple de requéte sql produite en passant ce critére ?
en gros, ca calcul la liste des rubriques de la branche (donc il faut etre dans une boucle article ou rubrique), puis :
SELECT xxx.id_mot,...les champs voulus dans la table mot...,COUNT(id_article) AS frequence
FROM spip_mots AS xxx, spip_mots_articles AS freqb, spip_articles AS lf WHERE
xxx.id_mot=freqb.id_mot
AND
freqb.id_article=lf.id_article
AND
lf.id_rubrique IN (...les id_rubrique de ta branche...)
GROUP BY xxx.id_mot,...les champs voulus dans la table mot...
HAVING frequence>0
Donc, comme je le disais, ce qu'il veut...
sinon, en 12000 requetes (toujours dans une boucle article ou rubrique):
<BOUCLE_mes_rubriques(RUBRIQUES){branche}>
<BOUCLE_mes_articles(ARTICLES){id_rubrique}>
<BOUCLE_mes_mots(MOTS){id_article}{doublons x}></BOUCLE_mes_mots>
</BOUCLE_mes_articles>
</BOUCLE_mes_rubriques>
<ul>
<BOUCLE_mes_mots(MOTS){!doublons x}{par num titre}>
<li>#TITRE</li>
</BOUCLE_mes_mots>
</ul>
voila, voila, maintenant, tu es bon pour faire un article sur spip-contrib !

@++
Stephane a écrit :
des betises... faut pas faire 2 boucles avec le meme nom !
<BOUCLE_mes_rubriques(RUBRIQUES){branche}>
<BOUCLE_mes_articles(ARTICLES){id_rubrique}>
<BOUCLE_mes_mots(MOTS){id_article}{doublons x}></BOUCLE_mes_mots>
</BOUCLE_mes_articles>
</BOUCLE_mes_rubriques>
<ul>
<BOUCLE_les_mots(MOTS){!doublons x}{par num titre}>
<li>#TITRE</li>
</BOUCLE_les_mots>
</ul>
Stephane a écrit :
Yoann NOGUES a écrit :
Stephane a écrit :
tu veux les mots clés affectés aux articles d'une rubrique et ses sous-rubriques, c'est ca ?
il y a un critere {frequence_branche} dans le plugin nuage2 (ne pas utiliser, projet jetable) qui devrait faire ton bonheur.
ca doit donner :
<BOUCLE_RUB{id_rubrique}>
<BOUCLE_mots_freres(MOTS) {frequence_branche} {id_groupe=5} {tout} {par titre} {pagination 20}>
euh j'ai un peu de mal a saisir ce que donne ce critére ...
ben faut essayer, comme ca me fait un betatesteur...

tu aurais pas un exemple de requéte sql produite en passant ce critére ?
en gros, ca calcul la liste des rubriques de la branche (donc il faut etre dans une boucle article ou rubrique), puis :
SELECT xxx.id_mot,...les champs voulus dans la table mot...,COUNT(id_article) AS frequence
FROM spip_mots AS xxx, spip_mots_articles AS freqb, spip_articles AS lf WHERE
xxx.id_mot=freqb.id_mot
AND
freqb.id_article=lf.id_article
AND
lf.id_rubrique IN (...les id_rubrique de ta branche...)
GROUP BY xxx.id_mot,...les champs voulus dans la table mot...
HAVING frequence>0
Donc, comme je le disais, ce qu'il veut...
sinon, en 12000 requetes (toujours dans une boucle article ou rubrique):
<BOUCLE_mes_rubriques(RUBRIQUES){branche}>
<BOUCLE_mes_articles(ARTICLES){id_rubrique}>
<BOUCLE_mes_mots(MOTS){id_article}{doublons x}></BOUCLE_mes_mots>
</BOUCLE_mes_articles>
</BOUCLE_mes_rubriques>
<ul>
<BOUCLE_mes_mots(MOTS){!doublons x}{par num titre}>
<li>#TITRE</li>
</BOUCLE_mes_mots>
</ul>
voila, voila, maintenant, tu es bon pour faire un article sur spip-contrib !

et bien c'est bien plus clair maintenant
ca m'apprendra a pas comprendre 
pour l'article sur contrib je te passerai l'url manière que tu fasse une relecture de ma copie 
et bien ce serait même interessant de rajouter ce critére dans mots_partout_arbo non ?
Yoann NOGUES a écrit :
Stephane a écrit :
Yoann NOGUES a écrit :
Stephane a écrit :
tu veux les mots clés affectés aux articles d'une rubrique et ses sous-rubriques, c'est ca ?
il y a un critere {frequence_branche} dans le plugin nuage2 (ne pas utiliser, projet jetable) qui devrait faire ton bonheur.
et bien ce serait même interessant de rajouter ce critére dans mots_partout_arbo non ?
non, c'est pas un truc lié aux mots clé, c'est fait pour etre bien plus generique que ca et pouvoir compter le nombre d'affectation (critere frequence) d'un truc sur un machin
ca permet en plus de recuperer le nombre d'affectations du mot (mais il faut declarer la balise #FREQUENCE)
le critere frequence_branche, lui, ne peut bien sur etre utilisé que si machin a un id_rubrique mais c'est le meme principe.
pas le temps de finir ca pour le moment, mais ca viendra
@++
voila, voila, maintenant, tu es bon pour faire un article sur spip-contrib !

ca y est .. par contre je sais pas trop ou le mettre et comment l'appeller ...
par contre il y a forcement des choses a améliorer dans le texte pour le rendre plus utilisable.