Comment trouver l'url_article d'un document ?

J'aimerai ajouter sur chaque document lier à un article le lien vers son article d'origine. Comment faire ? J'ai bien tenté de faire une boucle DOCUMENTS dans une boucle ARTICLES sauf que le temps de calcul est monstrueux car il y a 13000 images dans le site.

L'url de l'album :
http://www.humpath.com/spip.php?page=album

Le squelette
http://www.humpath.com/squelettes/album.html

Des idées ?

Merci !

Pierre

Pierre Bourgeois a écrit :

J'aimerai ajouter sur chaque document lier à un article le lien vers son article d'origine. Comment faire ? J'ai bien tenté de faire une boucle DOCUMENTS dans une boucle ARTICLES sauf que le temps de calcul est monstrueux car il y a 13000 images dans le site.

L'url de l'album :
Humpath.com - Human pathology - Photos - pictures - videos

Le squelette
Humpath.com - Human pathology

Des idées ?

Merci !

Pierre

si tes images sont toutes associées à des articles, tu peux faire [(#URL_ARTICLE{#ID_ARTICLE})] directement dans ta boucle document

sinon, une boucle ARTICLES dans ta boucle DOCUMENTS (et non l'inverse), ca provoquera 42 (ta pagination) requetes de plus au rechargement, c'est pas la mort.

@++

Pierre Bourgeois a écrit :

J'aimerai ajouter sur chaque document lier à un article le lien vers son article d'origine. Comment faire ?

<B_documents_portfolio>
   #ANCRE_PAGINATION
   <div id="documents_portfolio" >
<BOUCLE_documents_portfolio(DOCUMENTS){pagination 42}{doublons}>
   [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#TITRE|couper{80}|texte_backend)"]>
   (#LOGO_DOCUMENT)
   </a>]
   <BOUCLE_doc_art(spip_documents_articles){id_document}>
     <a href="#URL_ARTICLE{#ID_ARTICLE}">[(#ID_ARTICLE)]</a>
   </BOUCLE_doc_art>
</BOUCLE_documents_portfolio>
   </div>
   [<p>(#PAGINATION)</p>]
</B_documents_portfolio>

(à tester pour les temps de réponse)

Stephane a écrit :

si tes images sont toutes associées à des articles, tu peux faire [(#URL_ARTICLE{#ID_ARTICLE})] directement dans ta boucle document

il n'y a pas de «spip_documents.id_article»
et pas de jointure faite automatiquement
de «spip_documents» sur «spip_documents_articles»

denisb a écrit :

Pierre Bourgeois a écrit :

J'aimerai ajouter sur chaque document lier à un article le lien vers son article d'origine. Comment faire ?

<B_documents_portfolio>
  #ANCRE_PAGINATION
  <div id="documents_portfolio" >
<BOUCLE_documents_portfolio(DOCUMENTS){pagination 42}{doublons}>
  [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#TITRE|couper{80}|texte_backend)"]>
  (#LOGO_DOCUMENT)
  </a>]
  <BOUCLE_doc_art(spip_documents_articles){id_document}>
    <a href="#URL_ARTICLE{#ID_ARTICLE}">[(#ID_ARTICLE)]</a>
  </BOUCLE_doc_art>
</BOUCLE_documents_portfolio>
  </div>
  [<p>(#PAGINATION)</p>]
</B_documents_portfolio>

(à tester pour les temps de réponse)

Top niveau ! Ça marche impeccablement et le temps de réponse est satisfaisant. Merci beaucoup !

Pierre

denisb a écrit :

Stephane a écrit :

si tes images sont toutes associées à des articles, tu peux faire [(#URL_ARTICLE{#ID_ARTICLE})] directement dans ta boucle document

il n'y a pas de «spip_documents.id_article»
et pas de jointure faite automatiquement
de «spip_documents» sur «spip_documents_articles»

Ah oui, ca n'est fait que si il y a un critère {id_article}.
Mais bon, dans ce cas, il vaut peut etre mieux faire la jointure :

<B_documents_portfolio>
   #ANCRE_PAGINATION
   <div id="documents_portfolio" >
<BOUCLE_documents_portfolio(DOCUMENTS spip_documents_articles){pagination 42}{doublons}>
   [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#TITRE|couper{80}|texte_backend)"]>
   (#LOGO_DOCUMENT)
   </a>]
   <a href="#URL_ARTICLE{ID_ARTICLE}">[(#ID_ARTICLE)]</a>
</BOUCLE_documents_portfolio>
   </div>
   [<p>(#PAGINATION)</p>]
</B_documents_portfolio>

mais bon, c'est uniquement si seule l'url_article est necessaire, si on veut le titre en plus, il faut faire :

<B_documents_portfolio>
   #ANCRE_PAGINATION
   <div id="documents_portfolio" >
<BOUCLE_documents_portfolio(DOCUMENTS){pagination 42}{doublons}>
   [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#TITRE|couper{80}|texte_backend)"]>
   (#LOGO_DOCUMENT)
   </a>]
   <BOUCLE_doc_art(ARTICLES){id_document}>
     <a href="#URL_ARTICLE">[(#TITRE)]</a>
   </BOUCLE_doc_art>
</BOUCLE_documents_portfolio>
   </div>
   [<p>(#PAGINATION)</p>]
</B_documents_portfolio>

@++