En utilisant le plugin mediatheque, avec une base de données en PostGreSQL,
lors du premier clic sur Edition -> Mediathèque, je reçois l'erreur suivante:
Erreur SQL 1000
errcode: 1000 : GROUP BY position 0 is not in select list LINE 7: GROUP BY
media, documents.id_document, 0, L4.media ^
SELECT documents.id_document, 0 as points, COUNT(L4.extension) AS
compteur_types_documents, L4.media FROM spip_documents AS documents INNER JOIN
spip_types_documents AS L4 ON ( L4.extension = documents.extension ) WHERE
(documents.mode != 'vignette') AND (documents.taille > 0 OR
documents.distant='oui') AND ((L4.media IN ('image','audio','video','file')))
GROUP BY media, documents.id_document, 0, L4.media ORDER BY case when
L4.media='image' then 1 when L4.media='audio' then 2 when L4.media='video' then
3 when L4.media='file' then 4 else 0 end
Si j'ai bien lu la doc, la solution, en SQL, est de remplacer "0" par
"points" dans GROUP BY (dernières lignes de
http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html) (ca
marche avec PostGreSQL):
SELECT documents.id_document, 0 as points, COUNT(L4.extension) AS
compteur_types_documents, L4.media FROM spip_documents AS documents INNER JOIN
spip_types_documents AS L4 ON ( L4.extension = documents.extension ) WHERE
(documents.mode != 'vignette') AND (documents.taille > 0 OR
documents.distant='oui') AND ((L4.media IN ('image','audio','video','file')))
GROUP BY media, documents.id_document, points, L4.media ORDER BY case when
L4.media='image' then 1 when L4.media='audio' then 2 when L4.media='video' then
3 when L4.media='file' then 4 else 0 end
Pour ca, je pense qu'il faut modifier le compilateur, parce que le squelette
parait bien (pardon je coupe les lignes):
<BOUCLE_medias(DOCUMENTS){id_rubrique ?}{id_article ?}{id_breve ?}
{id_document ?}{recherche ?}{statut==.*}{compteur types_documents, media}
{media IN image,audio,video,file}>
[<li class='#MEDIA'>(#GET{self}|parametre_url{media,#MEDIA}
>aoustrong{#VAL{medias:media_}|concat{#MEDIA}|_T
>concat{' (',#COMPTEUR{types_documents},')'},#ENV{media}
>=={#MEDIA},ajax})</li>]
</BOUCLE_medias>
Qqn a un avis sur la question ?
Severo