Bonjour,
Avec une 2.0.8 (13984 et SVN du soir) + le plugin Médiathèque (SVN du soir) (Ex Gestion Documents), la boucle
http://zone.spip.org/trac/spip-zone/browser/squelettes/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/modeles/documentsjoints.html#L6
<BOUCLE_documents_joints(DOCUMENTS) {id_article ?}{id_rubrique ?} {mode=document}{extension !IN png,jpg,gif}{par num titre, date}>
Ne renvoie rien alors que sans médiathèque, elle renvoie quelque chose.
J'ai aussi simplifié en :
<BOUCLE_documents_joints(DOCUMENTS) {id_article}>
Mais ce n'est pas mieux.
Précision : le squelette appelant contient l'inclusion suivante :
[(#INCLURE{fond=modeles/documentsjoints}{id_article})]
J'ai vérifié, id_article a bien la bonne valeur dans le squelette inclus.
--
RealET
article non publié ?
dans ce cas, les documents ne sont pas publiés non plus (sauf si associés à un autre objet publié), et ne ressortent pas dans la boucle.
Le 1 juin 2009 23:46, RealET <real3t@gmail.com> a écrit :
Bonjour,
Avec une 2.0.8 (13984 et SVN du soir) + le plugin Médiathèque (SVN du soir) (Ex Gestion Documents), la boucle
http://zone.spip.org/trac/spip-zone/browser/squelettes/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/modeles/documentsjoints.html#L6
<BOUCLE_documents_joints(DOCUMENTS) {id_article ?}{id_rubrique ?} {mode=document}{extension !IN png,jpg,gif}{par num titre, date}>
Ne renvoie rien alors que sans médiathèque, elle renvoie quelque chose.
J’ai aussi simplifié en :
<BOUCLE_documents_joints(DOCUMENTS) {id_article}>
Mais ce n’est pas mieux.
Précision : le squelette appelant contient l’inclusion suivante :
[(#INCLURE{fond=modeles/documentsjoints}{id_article})]
J’ai vérifié, id_article a bien la bonne valeur dans le squelette inclus.
–
RealET
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
* Cédric Morin tapuscrivait, le 02/06/2009 10:08:
article non publié ?
Ben si, l'article est publié.
dans ce cas, les documents ne sont pas publiés non plus (sauf si associés à
un autre objet publié), et ne ressortent pas dans la boucle.
Et document (PDF en l'occurence) joint à l'article en question.
Le 1 juin 2009 23:46, RealET <real3t@gmail.com> a écrit :
Bonjour,
Avec une 2.0.8 (13984 et SVN du soir) + le plugin Médiathèque (SVN du soir)
(Ex Gestion Documents), la boucle
Connexion · GitLab
<BOUCLE_documents_joints(DOCUMENTS) {id_article ?}{id_rubrique ?}
{mode=document}{extension !IN png,jpg,gif}{par num titre, date}>
Ne renvoie rien alors que sans médiathèque, elle renvoie quelque chose.
J'ai aussi simplifié en :
<BOUCLE_documents_joints(DOCUMENTS) {id_article}>
Mais ce n'est pas mieux.
Précision : le squelette appelant contient l'inclusion suivante :
[(#INCLURE{fond=modeles/documentsjoints}{id_article})]
J'ai vérifié, id_article a bien la bonne valeur dans le squelette inclus.
--
RealET
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
--
RealET
Le 2 juin 2009 10:12, RealET <real3t@gmail.com> a écrit :
- Cédric Morin tapuscrivait, le 02/06/2009 10:08:
article non publié ?
Ben si, l’article est publié.
?var_mode=debug est ton ami alors, pour voir la requete sql générée, et la condition qui gêne …
Cédric
* RealET tapuscrivait, le 02/06/2009 10:12:
* Cédric Morin tapuscrivait, le 02/06/2009 10:08:
article non publié ?
Ben si, l'article est publié.
dans ce cas, les documents ne sont pas publiés non plus (sauf si associés à
un autre objet publié), et ne ressortent pas dans la boucle.
Et document (PDF en l'occurence) joint à l'article en question.
La page du portfolio de la médiathèque était vide.
Du coup, j'ai lancé une réparation de la base qui l'a repeuplée.
Mais ma Boucle est toujours vide.
--
RealET
* Cédric Morin tapuscrivait, le 02/06/2009 10:21:
Le 2 juin 2009 10:12, RealET <real3t@gmail.com> a écrit :
* Cédric Morin tapuscrivait, le 02/06/2009 10:08:
article non publié ?
Ben si, l'article est publié.
?var_mode=debug est ton ami alors, pour voir la requete sql générée, et la
condition qui gêne ...
La requête SQL est... surprenante :
SELECT 0+documents.titre AS num, documents.date, documents.id_document, L3.titre AS type_document, documents.taille, documents.descriptif, documents.titre, documents.id_document
03 FROM spip_documents AS `documents`
04 INNER JOIN spip_types_documents AS L3 ON ( L3.extension = documents.extension )
05 INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
06 WHERE ((documents.statut = "publie"))
07 AND (documents.date_publication < '9999-12-31')
08 AND (documents.taille > 0 OR documents.distant='oui')
09 AND (L1.id_objet = 36)
10 AND (L1.objet = 'article')
11 AND (documents.mode = 'document')
12 AND ((documents.extension NOT IN ('png','jpg','gif')))
13 AND ((documents.id_document IN (
14 SELECT zzzd.id_document
15 FROM `mutu_devsc739a`.spip_documents_liens as zzzd
16 WHERE (((((zzzd.objet='rubrique' AND 0=0) OR (zzzd.objet='article' AND (zzzd.id_objet NOT IN (
17 SELECT zzza.id_article
18 FROM `mutu_devsc739a`.spip_articles as zzza
19 WHERE 0=1)))) OR (zzzd.objet='breve' AND (zzzd.id_objet NOT IN (
20 SELECT zzzb.id_breve
21 FROM `mutu_devsc739a`.spip_breves as zzzb
22 WHERE 0=1)))) OR (zzzd.objet='forum' AND (zzzd.id_objet IN (
23 SELECT zzzf.id_forum
24 FROM `mutu_devsc739a`.spip_forum as zzzf
25 WHERE ((0=0 OR (zzzf.id_article NOT IN (
26 SELECT zzza.id_article
27 FROM `mutu_devsc739a`.spip_articles as zzza
28 WHERE 0=1))) OR (zzzf.id_breve NOT IN (
29 SELECT zzzb.id_breve
30 FROM `mutu_devsc739a`.spip_breves as zzzb
31 WHERE 0=1))))))) OR ((zzzd.objet NOT IN ('rubrique','article','breve','forum')))))) OR (documents.id_document NOT IN (
32 SELECT zzzd.id_document
33 FROM `mutu_devsc739a`.spip_documents_liens as zzzd)))
34 GROUP BY documents.id_document
35 ORDER BY num, documents.date
Et la même boucle sans le plugin médiathèque :
SELECT 0+documents.titre AS num, documents.date, documents.id_document, L3.titre AS type_document, documents.taille, documents.descriptif, documents.titre, documents.id_document
03 FROM spip_documents AS `documents` LEFT JOIN spip_documents_liens AS l
04 ON documents.id_document=l.id_document
05 LEFT JOIN spip_articles AS aa
06 ON (l.id_objet=aa.id_article AND l.objet="article")
07 LEFT JOIN spip_breves AS bb
08 ON (l.id_objet=bb.id_breve AND l.objet="breve")
09 LEFT JOIN spip_rubriques AS rr
10 ON (l.id_objet=rr.id_rubrique AND l.objet="rubrique")
11 LEFT JOIN spip_forum AS ff
12 ON (l.id_objet=ff.id_forum AND l.objet="forum")
13
14 INNER JOIN spip_types_documents AS L3 ON ( L3.extension = documents.extension )
15 INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
16 WHERE ((aa.statut = "publie" AND aa.date<='9999-12-31') OR bb.statut = "publie" OR rr.statut = "publie" OR ff.statut="publie")
17 AND (documents.taille > 0 OR documents.distant='oui')
18 AND (L1.id_objet = 36)
19 AND (L1.objet = 'article')
20 AND (documents.mode = 'document')
21 AND ((documents.extension NOT IN ('png','jpg','gif')))
22 AND ((documents.id_document IN (
23 SELECT zzzd.id_document
24 FROM `mutu_devsc739a`.spip_documents_liens as zzzd
25 WHERE (((((zzzd.objet='rubrique' AND 0=0) OR (zzzd.objet='article' AND (zzzd.id_objet NOT IN (
26 SELECT zzza.id_article
27 FROM `mutu_devsc739a`.spip_articles as zzza
28 WHERE 0=1)))) OR (zzzd.objet='breve' AND (zzzd.id_objet NOT IN (
29 SELECT zzzb.id_breve
30 FROM `mutu_devsc739a`.spip_breves as zzzb
31 WHERE 0=1)))) OR (zzzd.objet='forum' AND (zzzd.id_objet IN (
32 SELECT zzzf.id_forum
33 FROM `mutu_devsc739a`.spip_forum as zzzf
34 WHERE ((0=0 OR (zzzf.id_article NOT IN (
35 SELECT zzza.id_article
36 FROM `mutu_devsc739a`.spip_articles as zzza
37 WHERE 0=1))) OR (zzzf.id_breve NOT IN (
38 SELECT zzzb.id_breve
39 FROM `mutu_devsc739a`.spip_breves as zzzb
40 WHERE 0=1))))))) OR ((zzzd.objet NOT IN ('rubrique','article','breve','forum')))))) OR (documents.id_document NOT IN (
41 SELECT zzzd.id_document
42 FROM `mutu_devsc739a`.spip_documents_liens as zzzd)))
43 GROUP BY documents.id_document,documents.id_document
44 ORDER BY num, documents.date
--
RealET
ah, tu aurais pu préciser que tu avais aussi le plugin acces restreint …
Il ne te reste plus qu’à :
- verifier que le bug est aussi la sans acces restreint
- copier-coller la requete sql dans ton phpmyadmin, et voir quelle condition empeche ton document d’être séléctionné
- regarder dans la table spip_documents ce qui ne va pas sur ton document qui n’apparait pas.
Je serais tenté de dire, à vue de nez, qu’il doit y avoir un problème sur la valeur de statut ou de date_publication sur ton document, soit parce que la procédure d’install et d’upgrade de la table n’a pas fonctionné, soit parce que tu travaille des fois avec le plugin activé, des fois avec le plugin désactivé, et que dans le cas présent, tu as publié l’article avec le plugin désactivé, qui n’a pas pu répertorier le changement de statut sur le document.
Il est donc probable qu’il faille quelque part un bouton ‹ Mettre à jour les status des documents › pour ce genre de scenario…
Le 2 juin 2009 10:57, RealET <real3t@gmail.com> a écrit :
- Cédric Morin tapuscrivait, le 02/06/2009 10:21:
Le 2 juin 2009 10:12, RealET <real3t@gmail.com> a écrit :
- Cédric Morin tapuscrivait, le 02/06/2009 10:08:
article non publié ?
Ben si, l’article est publié.
?var_mode=debug est ton ami alors, pour voir la requete sql générée, et la
condition qui gêne …
La requête SQL est… surprenante :
SELECT 0+documents.titre AS num, documents.date, documents.id_document, L3.titre AS type_document, documents.taille, documents.descriptif, documents.titre, documents.id_document
03 FROM spip_documents AS documents
04 INNER JOIN spip_types_documents AS L3 ON ( L3.extension = documents.extension )
05 INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
06 WHERE ((documents.statut = « publie »))
07 AND (documents.date_publication < ‹ 9999-12-31 ›)
08 AND (documents.taille > 0 OR documents.distant=‹ oui ›)
09 AND (L1.id_objet = 36)
10 AND (L1.objet = ‹ article ›)
11 AND (documents.mode = ‹ document ›)
12 AND ((documents.extension NOT IN (‹ png ›,‹ jpg ›,‹ gif ›)))
13 AND ((documents.id_document IN (
14 SELECT zzzd.id_document
15 FROM mutu_devsc739a
.spip_documents_liens as zzzd
16 WHERE (((((zzzd.objet=‹ rubrique › AND 0=0) OR (zzzd.objet=‹ article › AND (zzzd.id_objet NOT IN (
17 SELECT zzza.id_article
18 FROM mutu_devsc739a
.spip_articles as zzza
19 WHERE 0=1)))) OR (zzzd.objet=‹ breve › AND (zzzd.id_objet NOT IN (
20 SELECT zzzb.id_breve
21 FROM mutu_devsc739a
.spip_breves as zzzb
22 WHERE 0=1)))) OR (zzzd.objet=‹ forum › AND (zzzd.id_objet IN (
23 SELECT zzzf.id_forum
24 FROM mutu_devsc739a
.spip_forum as zzzf
25 WHERE ((0=0 OR (zzzf.id_article NOT IN (
26 SELECT zzza.id_article
27 FROM mutu_devsc739a
.spip_articles as zzza
28 WHERE 0=1))) OR (zzzf.id_breve NOT IN (
29 SELECT zzzb.id_breve
30 FROM mutu_devsc739a
.spip_breves as zzzb
31 WHERE 0=1))))))) OR ((zzzd.objet NOT IN (‹ rubrique ›,‹ article ›,‹ breve ›,‹ forum ›)))))) OR (documents.id_document NOT IN (
32 SELECT zzzd.id_document
33 FROM mutu_devsc739a
.spip_documents_liens as zzzd)))
34 GROUP BY documents.id_document
35 ORDER BY num, documents.date
Et la même boucle sans le plugin médiathèque :
SELECT 0+documents.titre AS num, documents.date, documents.id_document, L3.titre AS type_document, documents.taille, documents.descriptif, documents.titre, documents.id_document
03 FROM spip_documents AS documents
LEFT JOIN spip_documents_liens AS l
04 ON documents.id_document=l.id_document
05 LEFT JOIN spip_articles AS aa
06 ON (l.id_objet=aa.id_article AND l.objet=« article »)
07 LEFT JOIN spip_breves AS bb
08 ON (l.id_objet=bb.id_breve AND l.objet=« breve »)
09 LEFT JOIN spip_rubriques AS rr
10 ON (l.id_objet=rr.id_rubrique AND l.objet=« rubrique »)
11 LEFT JOIN spip_forum AS ff
12 ON (l.id_objet=ff.id_forum AND l.objet=« forum »)
13
14 INNER JOIN spip_types_documents AS L3 ON ( L3.extension = documents.extension )
15 INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
16 WHERE ((aa.statut = « publie » AND aa.date<=‹ 9999-12-31 ›) OR bb.statut = « publie » OR rr.statut = « publie » OR ff.statut=« publie »)
17 AND (documents.taille > 0 OR documents.distant=‹ oui ›)
18 AND (L1.id_objet = 36)
19 AND (L1.objet = ‹ article ›)
20 AND (documents.mode = ‹ document ›)
21 AND ((documents.extension NOT IN (‹ png ›,‹ jpg ›,‹ gif ›)))
22 AND ((documents.id_document IN (
23 SELECT zzzd.id_document
24 FROM mutu_devsc739a
.spip_documents_liens as zzzd
25 WHERE (((((zzzd.objet=‹ rubrique › AND 0=0) OR (zzzd.objet=‹ article › AND (zzzd.id_objet NOT IN (
26 SELECT zzza.id_article
27 FROM mutu_devsc739a
.spip_articles as zzza
28 WHERE 0=1)))) OR (zzzd.objet=‹ breve › AND (zzzd.id_objet NOT IN (
29 SELECT zzzb.id_breve
30 FROM mutu_devsc739a
.spip_breves as zzzb
31 WHERE 0=1)))) OR (zzzd.objet=‹ forum › AND (zzzd.id_objet IN (
32 SELECT zzzf.id_forum
33 FROM mutu_devsc739a
.spip_forum as zzzf
34 WHERE ((0=0 OR (zzzf.id_article NOT IN (
35 SELECT zzza.id_article
36 FROM mutu_devsc739a
.spip_articles as zzza
37 WHERE 0=1))) OR (zzzf.id_breve NOT IN (
38 SELECT zzzb.id_breve
39 FROM mutu_devsc739a
.spip_breves as zzzb
40 WHERE 0=1))))))) OR ((zzzd.objet NOT IN (‹ rubrique ›,‹ article ›,‹ breve ›,‹ forum ›)))))) OR (documents.id_document NOT IN (
41 SELECT zzzd.id_document
42 FROM mutu_devsc739a
.spip_documents_liens as zzzd)))
43 GROUP BY documents.id_document,documents.id_document
44 ORDER BY num, documents.date
–
RealET
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone