j'ai besoin d'accéder depuis une application non spip aux logos des articles SPIP à partir de leur id_article
j'étais persuadé que les fichiers logos étaient renommés arton2020 à leur upload
mais visiblement non, depuis quelques temps ils gardent leur nom d'origine autant que possible.
ce changement m'avait échappé !
comment est-ce donc que ça fonctionne maintenant ?
pour l'instant je suis en SPIP 3.3.0-dev [24422] mais si ça simplifie je peux up en version contemporaine.
et par ailleurs même avant, yavait une fonction pour trouver un logo d'un objet car suivant le raccourci de l'objet (parfois le nom entier, parfois juste "art", ça dépend des déclarations) et suivant l'extension (ça peut être jpg, png, gif…), donc faut surtout pas chercher un fichier soi-même, mais utiliser l'API (cf le plugin logo_auto)
OK
Je devrais pouvoir m'en sortir à l'aide de spip_documents_lien et spip_documents.
Je vois dans la bdd que dans spip_documents, le champ 'mode' d'un document logo vaut 'logoon'
Au passage je vois aussi que le champ 'date_publication' des documents
semble n'être plus initialisé et vaut "1970-01-01 01:00:00"
Inversement je vois que pour les plus anciens documents (jusqu'en 2016)
leur 'date_publication' vaut "2038-01-01 00:00:00".
Le fameux bug de l'an 2038 ?
Entre les plus anciens et les plus récents, la 'date_publication' semble significative
et identique à la 'date'
Apparemment, logo_auto n'utilise pas l'API des logos mais interroge directement la BDD à coups de sql_fetsel
Quand à l'API des logos je suppose que c'est https://programmer.spip.net/API-des-logos
J'ai donc légèrement actualisé le début.
Mais peut être doit-on-devra-t-on préciser ou compléter encore ?
Bé pour faire ce qu'il veut lui (trouver d'autres types de logo) mais non justement il s'inscrit dans le pipeline "quete_logo_objet" = il utilise l'API
qui est dans la fonction du même nom, dans public/quete.php
Et c'est quete_logo_objet() qu'il faut utiliser pour vraiment avoir le logo *d'où qu'il vienne* (les anciens logos ou tout autre source avec le pipeline)
chercher_logo() ça cherche uniquement les "vrais" logos anciens modèles (qui doivent changer), quand on a Rôles de documents par exemple (mais ça peut être d'autres plugins comme logo_auto aussi ou encore dans Sélections éditoriales) et bien ça ne renvoie pas le logo réellement utilisé.
c'est quete_logo_objet() qui fait ça bien et propre et générique, et lui-même appelle chercher_logo() aussi
Je cite :
« Depuis SPIP 3.3, les fichiers téléchargés en tant que logo sont gérés comme des documents avec un mode spécifique ’logoon’ ou ’logooff’ et sont accessibles dans la médiathèque. »
Non, justement, ils sont référencés comme documents dans la table spip_documents mais ne sont pas dans la médiathèque.
« Depuis SPIP 3.3, les fichiers téléchargés en tant que logo sont gérés comme des documents dans la table spip_documents, avec un mode spécifique ’logoon’ ou ’logooff’. »
Ceci dit, à terme, la médiathèque ne devrait elle pas aussi présenter les logos ?
dans l'idée je voulais confirmer les propos de JL a sa question
Ceci dit, à terme, la médiathèque ne devrait elle pas aussi présenter les logos ?
De meme qu'elle enregistre déjà les vignettes données aux documents
(mais celles-ci sont invisibles : cela provoque une certaine incohérence)
- ne serait-ce possible de :
-* gérer les vignettes dans la médiathèque
(et donc pouvoir selectionner une vignette DE la médiathèque dans ce choix "Modifier")
-* rajouter un tag de selection a la médiathèque "Images employées comme vignettes" comme "logos"
(tout en pensant qu'une image (ou tout fichier multimédia) peut avoir plusieurs rôles :
=> exemple rajouter un "logo vocal" à chaque article...