boucle auteurs

Histoire de continuer à comprendre comment fonctionnent les modèles j'essaye
de récupérer les infos d'un auteur pour les afficher dans l'article.

J'ai donc fait un modèle site_fiche.html qui contient

<BOUCLE_auteurs(AUTEURS) {id_article}>
#BIO</BOUCLE_auteurs>

et dans l'article je met <site0|fiche> mais ça retourne rien. MA boucle doit
pas être bonne mais je ne m'y connais pas encore assez pour comprendre
pourquoi...

Dans le mm genre si je veux récupérer le nom de l'auteur 2 pour le mettre dans
l'article 12 comment je dois faire ?

Merci d'avance

--
Cordialement, Daniel Cartron
« La seule différence entre un sage et un imbécile, c'est que le sage a
tendance à commettre des erreurs beaucoup plus graves, parce que personne ne
confie des décisions importantes à un imbécile. »
Tom Clancy - Dangers immédiats

<BOUCLE_auteurs(AUTEURS) {id_article}>
#BIO</BOUCLE_auteurs>

et dans l'article je met <site0|fiche> mais ça retourne rien. MA boucle doit
pas être bonne mais je ne m'y connais pas encore assez pour comprendre
pourquoi...

le modèle <site0|fiche> ne va pas indiquer d'id_article ; il faut
éventuellement que tu fasses <site34|fiche> pour passer un numéro
(34), mais il sera passé dans les variables "id_site" et "id".

En résumé, tu devrais appeler ton modèle via <xxxx34|fiche> et faire une
<BOUCLE_auteurs(AUTEURS) {id_article=#ENV{id}}> #BIO</BOUCLE_auteurs>

Dans le mm genre si je veux récupérer le nom de l'auteur 2 pour le mettre dans
l'article 12 comment je dois faire ?

Avec un modèle <auteur2|truc> aussi.

-- Fil

Daniel Cartron a écrit :

Histoire de continuer à comprendre comment fonctionnent les modèles j'essaye de récupérer les infos d'un auteur pour les afficher dans l'article.

J'ai donc fait un modèle site_fiche.html qui contient

<BOUCLE_auteurs(AUTEURS) {id_article}>
#BIO</BOUCLE_auteurs>

et dans l'article je met <site0|fiche> mais ça retourne rien. MA boucle doit pas être bonne mais je ne m'y connais pas encore assez pour comprendre pourquoi...

Dans le mm genre si je veux récupérer le nom de l'auteur 2 pour le mettre dans l'article 12 comment je dois faire ?

Merci d'avance

ben heu ...

en gros, ce que tu demande, c'est que ton modele affiche l'auteur lié à l'article du contexte. Mais, en appelant ton modele, tu ne lui passe aucun idée article. Donc ce que tu peux faire : <sitexx|fiche>, et un critere {id_article==ENV{site}}

--
Maïeul
http://maieul.ouvaton.org

Le lundi 4 juin 2007 10:25, Fil a écrit :

le modèle <site0|fiche> ne va pas indiquer d'id_article ; il faut
éventuellement que tu fasses <site34|fiche> pour passer un numéro
(34), mais il sera passé dans les variables "id_site" et "id".

En résumé, tu devrais appeler ton modèle via <xxxx34|fiche> et faire une
<BOUCLE_auteurs(AUTEURS) {id_article=#ENV{id}}> #BIO</BOUCLE_auteurs>

Effectivement ça marche mais ça implique de passer le numéro de l'article en
paramètre. Ya pas moyen que ça soit déterminé automatiquement ?

> Dans le mm genre si je veux récupérer le nom de l'auteur 2 pour le mettre
> dans l'article 12 comment je dois faire ?

Avec un modèle <auteur2|truc> aussi.

HA oui ça aussi ça marche, mm si je comprend pas encore bien pourquoi. Mon
bouquin est encore plus succint que l'article 3454 (d'ailleurs il dit que la
doc complète se trouve là, c'est un peu léger...) :frowning:

--
Cordialement, Daniel Cartron
« Il vaut mieux marcher sur une tortue réveillée que sur un patin à roulettes
endormi. »
François Cavanna - Le saviez-vous ?

> En résumé, tu devrais appeler ton modèle via <xxxx34|fiche> et faire une
> <BOUCLE_auteurs(AUTEURS) {id_article=#ENV{id}}> #BIO</BOUCLE_auteurs>

Effectivement ça marche mais ça implique de passer le numéro de l'article en
paramètre. Ya pas moyen que ça soit déterminé automatiquement ?

Non, les modèles sont indépendants de l'endroit où ils sont appelés.
Ca pourrait être sur la todo list, mais ce sera pas forcément trivial
à programmer, puisqu'on est dans la fonction propre() qui par
définition ne s'intéresse qu'au texte qu'on lui passe, d'où qu'il
vienne. Fais un ticket sur trac si tu veux, sait-on jamais.

-- Fil

Le lundi 4 juin 2007 10:25, vous avez écrit :

En résumé, tu devrais appeler ton modèle via <xxxx34|fiche>

encore une question au sujet des modèles : comment fait-on le lien entre le
nom du modèle et la balise qu'on utilise ? J'ai fait plusieurs essais qui ne
marchaient jamais, et depuis que je les nomme site_truc.html je peux les
appeler avec <site0|truc> mais j'ai pas compris pourquoi ni comment ça fait
que ça marche comme ça et pas autrement. Et des fois j'aimerais bien leur
donner un autre nom que site_truc...

--
Cordialement, Daniel Cartron
« La saison venue, la chenille tisse un cocon autour d'elle-même et elle
devient cacahuète. »
François Cavanna - Le saviez-vous ?

Le lundi 4 juin 2007 10:25, Fil a écrit :

En résumé, tu devrais appeler ton modèle via <xxxx34|fiche> et faire une
<BOUCLE_auteurs(AUTEURS) {id_article=#ENV{id}}> #BIO</BOUCLE_auteurs>

Bon mon modèle fonctionne à peu près. Il me manque deux trucs :

j'ai envie de pouvoir avoir des textes (des étiquettes en fait) qui soient
modifiés automatiquement lorsque la langue change, sans que l'article ne
doive être traduit. J'ai regardé ailleurs et j'ai copié, j'ai donc écrit mes
textes ainsi :fiche_adresse: et dans lang/local_fr.php j'ai la ligne
'fiche_adresse' => 'Adresse', mais ça ne marche pas...

Ensuite j'ai envie de concaténer plusieurs balises, j'ai donc écrit
<strong>:fiche_adresse:</strong> [(#ADRESSE - #CODEPOSTAL #VILLE|
sinon{"<em>:fiche_pasdinfo:</em>"})]<br>
mais ça non plus ça marche pas, j'ai le texte :fiche_pasdinfo: alors que les
champs sont remplis dans la base. Je dois avoir raté une parenthèse ou un
crochet qq part, à moins que ça ne soit tout simplement pas possible...

--
Cordialement, Daniel Cartron
« J'aime penser que la lune est là même si je ne la regarde pas. »
Albert Einstein

Daniel Cartron a écrit :

Le lundi 4 juin 2007 10:25, Fil a écrit :

le modèle <site0|fiche> ne va pas indiquer d'id_article ; il faut
éventuellement que tu fasses <site34|fiche> pour passer un numéro
(34), mais il sera passé dans les variables "id_site" et "id".

Bonjour

Pourquoi tu ne fais pas une boucle AUTEUR directement, pour
récupérer le ID_AUTEUR du rédacteur de l'article?

Par exemple : http://limprevu.org/Gregoire-Ganne.html
C'est un article qui s'affiche, mais il y a une boucle AUTEUR pour
les autres infos et le formulaire de contact.

A bientôt
Grégoire

Le lundi 4 juin 2007 12:29, Daniel Cartron a écrit :

j'ai envie de pouvoir avoir des textes (des étiquettes en fait) qui soient
modifiés automatiquement lorsque la langue change, sans que l'article ne
doive être traduit. J'ai regardé ailleurs et j'ai copié, j'ai donc écrit
mes textes ainsi :fiche_adresse: et dans lang/local_fr.php j'ai la ligne
'fiche_adresse' => 'Adresse', mais ça ne marche pas...

J'ai fini par trouver, j'avais copié trop vite, il faut écrire <:texte:> et
j'avais oublié les chevrons.

Ensuite j'ai envie de concaténer plusieurs balises, j'ai donc écrit
<strong>:fiche_adresse:</strong> [(#ADRESSE - #CODEPOSTAL #VILLE|
sinon{"<em>:fiche_pasdinfo:</em>"})]<br>

et là il faut virer les " dans le filtre "sinon" pour avoir la traduction du
texte au lieu de "fiche_pasdinfo"

Par contre je n'arrive toujours pas à concaténer #ADRESSE - #CODEPOSTAL
#VILLE, ça me renvoie "pas d'infos"...

Et j'ai deux champs dans la table qui sont de type enum, correctement remplis,
mais là aussi ils ne sont pas lu, la balise reste vide. Impossibilité
d'utiliser ce type de champ ou autre chose ?

--
Cordialement, Daniel Cartron
« Il faut rêver très haut pour ne pas réaliser trop bas. »
Alfred Capus

Le lundi 4 juin 2007 18:32, Grégoire a écrit :

Pourquoi tu ne fais pas une boucle AUTEUR directement, pour
récupérer le ID_AUTEUR du rédacteur de l'article?

Tout simplement parce que je n'ai pas envie de modifier le squelette, je veux
juste qu'un article contienne les infos d'un auteur. J'y suis presque, donc
je continue sur ma lancée.

Merci qd mm

--
Cordialement, Daniel Cartron
« Il faut prendre l'argent là où il se trouve, c'est-à-dire chez les pauvres.
Bon d'accord, ils n'ont pas beaucoup d'argent, mais il y a beaucoup de
pauvres. »
Alphonse Allais - Le sourire

Daniel Cartron a écrit :

Le lundi 4 juin 2007 12:29, Daniel Cartron a écrit :

j'ai envie de pouvoir avoir des textes (des étiquettes en fait) qui soient
modifiés automatiquement lorsque la langue change, sans que l'article ne
doive être traduit. J'ai regardé ailleurs et j'ai copié, j'ai donc écrit
mes textes ainsi :fiche_adresse: et dans lang/local_fr.php j'ai la ligne
'fiche_adresse' => 'Adresse', mais ça ne marche pas...

J'ai fini par trouver, j'avais copié trop vite, il faut écrire <:texte:> et j'avais oublié les chevrons.

Ensuite j'ai envie de concaténer plusieurs balises, j'ai donc écrit
<strong>:fiche_adresse:</strong> [(#ADRESSE - #CODEPOSTAL #VILLE|
sinon{"<em>:fiche_pasdinfo:</em>"})]<br>

et là il faut virer les " dans le filtre "sinon" pour avoir la traduction du texte au lieu de "fiche_pasdinfo"

Par contre je n'arrive toujours pas à concaténer #ADRESSE - #CODEPOSTAL #VILLE, ça me renvoie "pas d'infos"...

ils ne doivent pas être dans la même parenthèse

Et j'ai deux champs dans la table qui sont de type enum, correctement remplis, mais là aussi ils ne sont pas lu, la balise reste vide. Impossibilité d'utiliser ce type de champ ou autre chose ?

Et si tu essayais :

#SET{adresse_complete, #ADRESSE - #CODEPOSTAL #VILLE}

<strong>:fiche_adresse:</strong>
[(#GET{adresse_complete}|sinon{"<em>:fiche_pasdinfo:</em>"})]<br>

Xavier BUROT

Selon Daniel Cartron <dan@cartron.org>:

Le lundi 4 juin 2007 12:29, Daniel Cartron a écrit :
> j'ai envie de pouvoir avoir des textes (des étiquettes en fait) qui soient
> modifiés automatiquement lorsque la langue change, sans que l'article ne
> doive être traduit. J'ai regardé ailleurs et j'ai copié, j'ai donc écrit
> mes textes ainsi :fiche_adresse: et dans lang/local_fr.php j'ai la ligne
> 'fiche_adresse' => 'Adresse', mais ça ne marche pas...

J'ai fini par trouver, j'avais copié trop vite, il faut écrire <:texte:> et
j'avais oublié les chevrons.

> Ensuite j'ai envie de concaténer plusieurs balises, j'ai donc écrit
> <strong>:fiche_adresse:</strong> [(#ADRESSE - #CODEPOSTAL #VILLE|
> sinon{"<em>:fiche_pasdinfo:</em>"})]<br>

et là il faut virer les " dans le filtre "sinon" pour avoir la traduction du
texte au lieu de "fiche_pasdinfo"

Par contre je n'arrive toujours pas à concaténer #ADRESSE - #CODEPOSTAL
#VILLE, ça me renvoie "pas d'infos"...

Et j'ai deux champs dans la table qui sont de type enum, correctement
remplis,
mais là aussi ils ne sont pas lu, la balise reste vide. Impossibilité
d'utiliser ce type de champ ou autre chose ?

--
Cordialement, Daniel Cartron
« Il faut rêver très haut pour ne pas réaliser trop bas. »
Alfred Capus

_______________________________________________
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

Le mardi 5 juin 2007 08:33, Xavier BUROT a écrit :

<strong>:fiche_adresse:</strong>
[(#GET{adresse_complete}|sinon{"<em>:fiche_pasdinfo:</em>"})]<br>

ça commence à bien prendre tournure mais j'ai un pb incompréhensible :

Parmi tous les nouveaux champs que j'ai rajoutés à la table auteurs il y en a
deux qui refusent obstinément de s'afficher. Je les avais appelé drapeau1 et
drapeau2, de type enum. Malgré le fait qu'ils sont renseignés dans la base
rien ne s'affiche, mm si je met juste #DRAPEAU1. J'ai modifié le type pour
repasser en varchar comme les autres, toujours pareil. J'ai changé le nom des
champs (et adapté ma boucle), toujours pareil...Je suis allé à la main
changer le texte dans le champ, encore pareil...

Mystère... JE suis là-dessus depuis ce matin et je ne vois plus ce qui me
permettrai de m'en sortir.

Une idée ?

--
Cordialement, Daniel Cartron
« Si tous ceux qui croient avoir raison n'avaient pas tort, la vérité ne
serait pas loin. »
Pierre Dac

Parmi tous les nouveaux champs que j'ai rajoutés à la table
auteurs il y en a deux qui refusent obstinément de
s'afficher. Je les avais appelé drapeau1 et drapeau2, de type
enum. Malgré le fait qu'ils sont renseignés dans la base rien
ne s'affiche, mm si je met juste #DRAPEAU1. J'ai modifié le
type pour repasser en varchar comme les autres, toujours
pareil. J'ai changé le nom des champs (et adapté ma boucle),
toujours pareil...Je suis allé à la main changer le texte
dans le champ, encore pareil...

Mystère... JE suis là-dessus depuis ce matin et je ne vois
plus ce qui me permettrai de m'en sortir.

Une idée ?

Peut-être qu'on a pas le droit aux numéros dans les noms de balises.

Le mardi 5 juin 2007 12:31, Olivier GENDRIN a écrit :

Peut-être qu'on a pas le droit aux numéros dans les noms de balises.

j'y avais pensé, j'ai modifié ça en cheque_d et cheque_v mais pareil :frowning:

--
Cordialement, Daniel Cartron
« L'homme raisonnable s'adapte au monde ; l'homme déraisonnable s'obstine à
essayer d'adapter le monde à lui-même. Tout progrès dépend donc de l'homme
déraisonnable. »
Bernard Shaw - Maximes pour révolutionnaires