Une question sur une légère modification que j'aimerai apporter au
plugin agenda afin de personnaliser pour un besoin particulier que voici..
Après avoir crée un article et y avoir associé plusieurs évènements,
j'aimerai pouvoir personnaliser le contenu de l'article appelé via
l'agenda en fonction de la date de l'évènement..
En effet, dans la configuration par défaut, quand on parcourt les
évènements dans l'agenda, on propose à l'internaute un lien dont l'url
pointe directement sur l'article associé (ex spip.php?article8).. le
contenu de l'article est donc forcément le même pour chaque évènement..
On pourrait facilement modifier l'article à l'aide d'un modèle
(http://www.spip.net/fr_article3454.html), si la date de l'évènement
appelant l'article apparaissait dans l'url (ex
spip.php?article8{{&date_debut=2008-12-11}}), ou l'id de l'évènement (ex
spip.php?article8{{&id_evenement=5}})
comment rendre possible cela ?
La modification de la fonction : {{exec_agenda_evenements_dist ligne}}
53 ne donne rien..
merci
stéphane
P.s : je sais bien sûr que je pourrai créer n articles associé à un
évènement plutôt qu'un article associé à n évènements
--
Nouveau single de Michel Sardon : OGM Pas !
_____________________________________________________________________
réseaux d'artistes autoproduits, label autogéré, plateforme de téléchargement libre, média indépendant
----------------------- http://www.dadaprod.org
_____________________________________________________________________
Après avoir crée un article et y avoir associé plusieurs évènements,
j'aimerai pouvoir personnaliser le contenu de l'article appelé via
l'agenda en fonction de la date de l'évènement..
En effet, dans la configuration par défaut, quand on parcourt les
évènements dans l'agenda, on propose à l'internaute un lien dont l'url
pointe directement sur l'article associé (ex spip.php?article8).. le
contenu de l'article est donc forcément le même pour chaque évènement..
On pourrait facilement modifier l'article à l'aide d'un modèle
(Utiliser les modèles - SPIP), si la date de l'évènement
appelant l'article apparaissait dans l'url (ex
spip.php?article8{{&date_debut=2008-12-11}}), ou l'id de l'évènement (ex
spip.php?article8{{&id_evenement=5}})
comment rendre possible cela ?
La modification de la fonction : {{exec_agenda_evenements_dist ligne}}
53 ne donne rien..
Je ne pense pas que cela puisse se modifier via cette fonction. A toi de
le gérer dans le squelette appelant l'url de l'article pour lui rajouter
le paramètre. Donc cela dépend de ce que tu utilises..
remplacer #URL_ARTICLE par #URL_ARTICLE&id_evenement=#ID_EVENEMENT
après à toi de gérer cela dans ton squelette des articles...
-- http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.
Je pensais qu'une fois le paramètre passé dans l'url appelant l'article,
on pouvait le réinjecter via la syntaxe suivante :
<BOUCLE_spip_evenements(spip_evenements){id_evenement=#ENV{ID_EVENEMENT}}>
Cela ne semble pas être le cas, j'ai essayé aussi :
<BOUCLE_spip_evenements(spip_evenements){id_evenement=#ENV*{ID_EVENEMENT}}>
mais je ne suis pas sûr d'avoir bien compris les explications sur
l'injection de HTML..
merci
stéphane
Dominique a écrit :
sonic steph <ml@dadaprod.org> wrote:
Bonjour
Bonjour
Après avoir crée un article et y avoir associé plusieurs évènements,
j'aimerai pouvoir personnaliser le contenu de l'article appelé via
l'agenda en fonction de la date de l'évènement..
En effet, dans la configuration par défaut, quand on parcourt les
évènements dans l'agenda, on propose à l'internaute un lien dont l'url
pointe directement sur l'article associé (ex spip.php?article8).. le
contenu de l'article est donc forcément le même pour chaque évènement..
On pourrait facilement modifier l'article à l'aide d'un modèle
(Utiliser les modèles - SPIP), si la date de l'évènement
appelant l'article apparaissait dans l'url (ex
spip.php?article8{{&date_debut=2008-12-11}}), ou l'id de l'évènement (ex
spip.php?article8{{&id_evenement=5}})
comment rendre possible cela ?
La modification de la fonction : {{exec_agenda_evenements_dist ligne}}
53 ne donne rien..
Je ne pense pas que cela puisse se modifier via cette fonction. A toi de
le gérer dans le squelette appelant l'url de l'article pour lui rajouter
le paramètre. Donc cela dépend de ce que tu utilises..
remplacer #URL_ARTICLE par #URL_ARTICLE&id_evenement=#ID_EVENEMENT
après à toi de gérer cela dans ton squelette des articles...
--
Nouveau single de Michel Sardon : OGM Pas !
_____________________________________________________________________
réseaux d'artistes autoproduits, label autogéré, plateforme de
téléchargement libre, média indépendant
----------------------- http://www.dadaprod.org
_____________________________________________________________________
Je pensais qu'une fois le paramètre passé dans l'url appelant l'article,
on pouvait le réinjecter via la syntaxe suivante :
<BOUCLE_spip_evenements(spip_evenements){id_evenement=#ENV{ID_EVENEMENT}}>
Cela ne semble pas être le cas, j'ai essayé aussi :
<BOUCLE_spip_evenements(spip_evenements){id_evenement=#ENV*{ID_EVENEMENT}}>
je cherche toujours, j'ai écrit dans un fichier agenda_distribution.html
le code suivant :
programme :
<BOUCLE_1(EVENEMENTS){id_evenement=#ENV{id_evenement}}>
Date : #DATE_DEBUT
</BOUCLE_1>
que j'appelle via un article contenant la syntaxe suivante :
<agenda_distribution|>
le résultat ne m'affiche pas la date correspondant à l'id_evenement
présent dans la paramètre de l'url (d'ailleurs si l'appel est
<agenda_distribution|id_evenement=x> ou x est le numéro de l'évènement
présent dans l'url, ça marche..).
merci
stéphane
P.S : J'ai vérifié les variables d'environnement envoyés au squelette
avec l'option "&var_mode=debug" en fin d'url
je cherche toujours, j'ai écrit dans un fichier agenda_distribution.html
le code suivant :
programme :
<BOUCLE_1(EVENEMENTS){id_evenement=#ENV{id_evenement}}>
Date : #DATE_DEBUT
</BOUCLE_1>
que j'appelle via un article contenant la syntaxe suivante :
<agenda_distribution|>
le résultat ne m'affiche pas la date correspondant à l'id_evenement
présent dans la paramètre de l'url (d'ailleurs si l'appel est
<agenda_distribution|id_evenement=x> ou x est le numéro de l'évènement
présent dans l'url, ça marche..).
Normal que quand tu fasses passer l'id dans l'appel du modèle cela
fonctionne.
Un modèle ne recupére pas le contexte il faut lui passer les paramètres
explicitement. TU ne pourras pas atteindre ton but en mettant suelement
<genda_distribution|> dans le texte de ton article.
Je pensais que tu voulais faire cela dans le squelette de textes
articles (là cela fonctionnerait puisque dans le squelette on récupère
le contexte). Dans ce cas tu peux marquer les articles dans lesquels tu
veux gérer cette personnalisation par un mot clef et mettre dans ton
squelette
en effet merci, je n'avais pas compris cette différence entre les
modèles / squelettes au niveau des variables d'environnement..
j'ai donc édité mon article.html en y insérant le code suivant :
<BOUCLE_mot_1 (MOTS) {id_article}{titre_mot=agenda_distribution}>
<BOUCLE_agenda_1(EVENEMENTS){id_evenement=#ENV{id_evenement}}>
Date :
[(#DATE_DEBUT|annee)]-[(#DATE_DEBUT|mois)]-[(#DATE_DEBUT|jour)]
<BOUCLE_date_distribution(date_distribution){date_distribution=[(#DATE_DEBUT|annee)]-[(#DATE_DEBUT|mois)]-[(#DATE_DEBUT|jour)]}>
<p>pour la date #DATE_DISTRIBUTION, le id est :
#ID_DISTRIBUTION</p>
et ça marche bien désormais, seul soucis encore au niveau de ma
troisième boucle "date_distribution" où le filtrage pour la date ne
passe pas (en effet dans cette table la date est stockée sans l'heure,
donc je filtre pour enlever les heures) alors qu'il est bien affiché
dans le corps de la deuxième boucle...
J'ai bien sûr vérifier que le code fonctionne en mettant la date en dur
dans la boucle..
quelle peut-être l'explication ? On ne peut pas mettre plusieurs en
paramètre d'une boucle ?
J'ai essayé aussi avec des #SET ou #GET, mais bien que la version soit
compatible, ce n'est pas compris pas mon moteur spip..