Sur un nouvel objet récemment crée, j'aimerai bouclé en fonction de son age et le faire apparaitre ou disparaitre. Mais dans ma nouvelle table , si j'ai bien un champ date_depot, il me manque certainement un champ date_redac comme dans la table articles. Mais je ne veux pas le mettre.
Je pensais donc éviter la fabrication d'un truc en php supplémentaire en faisant : #SET{d_day,#DATE|affdate{'d'}|moins{30}} #GET{d_day}
Mais bien entendu on obtient le résultat arithmétique de l'opération soit -8
Je pense qu'il y a une solution, mais je ne vois pas comment faire pour l'instant! Vos idées seraient bienvenues...
Merci
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
Sur un nouvel objet récemment crée, j’aimerai bouclé en fonction de son age et le faire apparaitre ou disparaitre. Mais dans ma nouvelle table , si j’ai bien un champ date_depot, il me manque certainement un champ date_redac comme dans la table articles. Mais je ne veux pas le mettre.
Je pensais donc éviter la fabrication d’un truc en php supplémentaire en faisant : #SET{d_day,#DATE|affdate{‹ d ›}|moins{30}} #GET{d_day}
Mais bien entendu on obtient le résultat arithmétique de l’opération soit -8
Je pense qu’il y a une solution, mais je ne vois pas comment faire pour l’instant! Vos idées seraient bienvenues…
Merci
–
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
Le 22 janvier 2010 10:55, Bernard Blazin <bernard.blazin@free.fr <mailto:bernard.blazin@free.fr>> a écrit :
Bonjour,
Sur un nouvel objet récemment crée, j'aimerai bouclé en fonction
de son age et le faire apparaitre ou disparaitre. Mais dans ma
nouvelle table , si j'ai bien un champ date_depot, il me manque
certainement un champ date_redac comme dans la table articles.
Mais je ne veux pas le mettre.
Je pensais donc éviter la fabrication d'un truc en php
supplémentaire en faisant : #SET{d_day,#DATE|affdate{'d'}|moins{30}} #GET{d_day}
Mais bien entendu on obtient le résultat arithmétique de
l'opération soit -8
Je pense qu'il y a une solution, mais je ne vois pas comment faire
pour l'instant! Vos idées seraient bienvenues...
Merci
-- Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
_______________________________________________
liste spip
spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un
mail à spip-off@rezo.net <mailto:spip-off@rezo.net>
il me semble que spip et les calculs sur les date, j’ai galéré méchamment. Je me souviens plus comment je m’en étais sorti, je crois en passant par mktime de php.
Si tu arrives à quelque chose, ce serait bien qu’on en conserve une trace ! n’hésite pas à publier sur spip-contrib, ce que j’aurais « dû » faire…
Sur un nouvel objet récemment crée, j’aimerai bouclé en fonction
de son age et le faire apparaitre ou disparaitre. Mais dans ma
nouvelle table , si j’ai bien un champ date_depot, il me manque
certainement un champ date_redac comme dans la table articles.
Mais je ne veux pas le mettre.
Je pensais donc éviter la fabrication d’un truc en php
supplémentaire en faisant : #SET{d_day,#DATE|affdate{‹ d ›}|moins{30}} #GET{d_day}
Mais bien entendu on obtient le résultat arithmétique de
l’opération soit -8
Je pense qu’il y a une solution, mais je ne vois pas comment faire
pour l’instant! Vos idées seraient bienvenues…
Merci
– Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
Ah ok! C'est dans le dossier base de mon plugin que je passe ça? et dans la déclaration des tables je suppose. Je ne comprends pas le crochet vide, mais d'ailleurs je ne pige pas la syntaxe.
P'tite ch'tiote question? Comment on peut savoir tout çà? C'est écrit nul part!
Bon dis-moi quand même si j'ai tout bon pour l'endroit ?
>Et un GRAND ET IMMENSE MERCI!
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
Bon voilà ce que j'ai fait:
dans mes_options.php
$table_des_traitements['DATE_DEPOT']= 'normaliser_date(%s)';
comme tu me l'as recommandé..Cependant dans ma boucle {age<30} me retourne champ age n'existe pas.
Il faut faire autre chose?
Merci
Bernard
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
le paragraphe «Spécifier les champs "date" des nouvelles tables»
Y aura t il un jour des liens entre les différents sites de la galaxie ?
C'est certifié schizophrénique qu'il n'y ait pas de liens croisés
entre les pages internes de spip.net et celles des autres sites de documentation !
(doc.spip.org, programmer.spip.org, voire spip-contrib.net)
Bon voilà ce que j'ai fait:
dans mes_options.php
$table_des_traitements['DATE_DEPOT']= 'normaliser_date(%s)';
comme tu me l'as recommandé..Cependant dans ma boucle {age<30} me
retourne champ age n'existe pas.
Non, la table des traitements indique quels traitements spip applique
à la donnée sql brute récupérée avant de la fournir comme résultat
de la balise correspondante (#DATE_DEPOT en l'occurence)
alors que toi tu veux *étendre* un *critère* *standard*.
Il faut faire autre chose?
oui certainement.
Je n'en ai pas l'expérience, mais la moindre des choses pour commencer
serait de faire ce qui est indiqué sur la page qui t'a été recommandée.
Ainsi il y figure :
"Spécifier les champs "date" des nouvelles tables.
Si on crée une table qui contient des champs date, on peut les déclarer à spip pour accélérer les requêtes sql quand on fait des boucles avec des critère sur ces champs..."
et dans ton cas ça donne :
$interface['table_date']['lenomdetanouvelletable'] = 'date_depot';
Bon voilà ce que j'ai fait:
dans mes_options.php
$table_des_traitements['DATE_DEPOT']= 'normaliser_date(%s)';
comme tu me l'as recommandé..Cependant dans ma boucle {age<30} me
retourne champ age n'existe pas.
Non, la table des traitements indique quels traitements spip applique
à la donnée sql brute récupérée avant de la fournir comme résultat
de la balise correspondante (#DATE_DEPOT en l'occurence)
alors que toi tu veux *étendre* un *critère* *standard*.
Il faut faire autre chose?
oui certainement.
Je n'en ai pas l'expérience, mais la moindre des choses pour commencer
serait de faire ce qui est indiqué sur la page qui t'a été recommandée.
Ainsi il y figure :
"Spécifier les champs "date" des nouvelles tables.
Si on crée une table qui contient des champs date, on peut les déclarer à spip pour accélérer les requêtes sql quand on fait des boucles avec des critère sur ces champs..."
et dans ton cas ça donne :
$interface['table_date']['lenomdetanouvelletable'] = 'date_depot';
Essaie voir...
JLuc
+1 pour la doc. Bon j'avais fait également ça aussi avant de relancer la chose, donc pas de nouveauté de ce côté là, j'ai toujours mon erreur SQL
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
+1 pour la doc. Bon j'avais fait également ça aussi avant de relancer la
chose, donc pas de nouveauté de ce côté là, j'ai toujours mon erreur SQL
ah, j'ai pas vu que tu parlais d'erreur sql.
c'est quoi ?
JLuc
_______________________________________________
Le champ age ou encore selon la boucle, age_relatif n'existe pas. comme c'est un critère de boucle, SPIP voit ça comme un champ de table ce qui semble normal. Par contre ce qui l'est moins c'est qu'en ayant déclaré ce qui est dit depuis le début de ce post, SPIP ne reconnait pas le critère de date age pour un nouvel objet semble t-il.
Bernard
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978
Par contre ce qui l'est moins c'est qu'en ayant déclaré
ce qui est dit depuis le début de ce post, SPIP ne reconnait pas le
critère de date age pour un nouvel objet semble t-il.
regarder le code du plugin agenda (les 2 fichier de agenda/base/)
Par contre ce qui l'est moins c'est qu'en ayant déclaré
ce qui est dit depuis le début de ce post, SPIP ne reconnait pas le
critère de date age pour un nouvel objet semble t-il.
regarder le code du plugin agenda (les 2 fichier de agenda/base/)
_______________________________________________
Ok, l'exemple est parfait . Ca fonctionne en rajoutant dans la fonction adéquate declarer_tables_interfaces ces deux lignes
$interface['table_date']['collections'] = 'date_depot';
$interface['DATE_DEPOT']= 'normaliser_date(%s)';
Merci à tous pour le coup de main
Bon dimanche
Bernard
--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978