Modele et id article

Bonsoir,
la doc sur les modeles est tres detaillee, on n y trouve meme des choses
aussi extravagantes qu une methode pour faire des citations aleatoires, mais
y a un truc dont je ne suis pas sur :
Par defaut, le modele n est pas capable de renvoyer l id de l article dans
lequel il est invoque ?
A moins de faire <modele12> ou 12 est l id en question, si je fais
<modele50> mais ou 50 est l id d un document uploade, je ne retrouve pas l
id de l article dans les valeurs stockees dans #ENV... Est ce normal, ou est
ce moi qui rate un truc ?
Je sais que je peux faire un modele genre :
<modele 12|doc=50> ou 12 serait l id de l article et 50 celui du doc, mais
je souhaite simplifier le modele pour les redacteurs (sachant que l id de l
article n est visible que dans l url lorsque le redacteur est sur la page de
redaction)
merci bien

triton

Par defaut, le modele n est pas capable de renvoyer l id de l article dans
lequel il est invoque ?

Non, en effet. C'est dû au fait qu'un modèle peut être invoqué dans
n'importe quel contexte (brève, forum, ou texte libre), pas seulement
dans un article.

<modele 12|doc=50> ou 12 serait l id de l article et 50 celui du doc, mais
je souhaite simplifier le modele pour les redacteurs (sachant que l id de l
article n est visible que dans l url lorsque le redacteur est sur la page de
redaction)

Tu peux peut-être rechercher l'id_article associé au document ?

-- Fil

Bonsoir,

Tu peux peut-être rechercher l'id_article associé au document ?

comme ca :
<BOUCLE_doc(ARTICLES documents_articles){id_document=#ENV{id}}>
#ID_ARTICLE
</BOUCLE_doc>

oui, vais faire comme ca, mais un doc pouvant etre embarque dans plusieurs articles, je risque de me trouver, parfois, avec des effets de bords un peu etrange... mais ca fera l affaire...

Merci pour la reponse

triton (qu est pas peu fier de sa premiere jointure automatique)

Je pense que tu pourrais t'en sortir avec cette boucle :

<BOUCLE_article(DOCUMENTS documents_articles articles){id_document}>
   #ID_ARTICLE
</BOUCLE_article>

Comme cela en entrant le seul id_document, on retrouve l'id_article

Xavier BUROT

Selon triton <triton@pointcentral.net>:

Bonsoir,
la doc sur les modeles est tres detaillee, on n y trouve meme des choses
aussi extravagantes qu une methode pour faire des citations aleatoires, mais
y a un truc dont je ne suis pas sur :
Par defaut, le modele n est pas capable de renvoyer l id de l article dans
lequel il est invoque ?
A moins de faire <modele12> ou 12 est l id en question, si je fais
<modele50> mais ou 50 est l id d un document uploade, je ne retrouve pas l
id de l article dans les valeurs stockees dans #ENV... Est ce normal, ou est
ce moi qui rate un truc ?
Je sais que je peux faire un modele genre :
<modele 12|doc=50> ou 12 serait l id de l article et 50 celui du doc, mais
je souhaite simplifier le modele pour les redacteurs (sachant que l id de l
article n est visible que dans l url lorsque le redacteur est sur la page de
redaction)
merci bien

triton

_______________________________________________
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

Je pense que tu pourrais t'en sortir avec cette boucle :

<BOUCLE_article(DOCUMENTS documents_articles articles){id_document}>
   #ID_ARTICLE
</BOUCLE_article>

Comme cela en entrant le seul id_document, on retrouve l'id_article

Xavier BUROT
http://xebiaut.free.fr

Bonsoir,
j ai failli rater ta reponse toute aplatie sous un enorme tas de nawak qu
elle etait aujourd hui...

Cette boucle provoque une erreur sql chez moi :

Erreur MySQL
J0.id_article, documents.id_document FROM spip_documents_articles AS `J0`,
spip_documents AS `documents` WHERE (documents.id_document = '905') AND
(documents. = J0.) AND ((documents.id_document NOT IN (1))) AND
(documents.taille > 0 OR documents.distant="oui")
You have an error in.... right syntax to use near '= J0.) AND
((documents.id_document NOT IN (1))) AND (documents.taille > 0 OR d' at line
4

merci
triton