Boucle pour récupérer l'article contenant un document - commentaires Boucle pour récupérer l'article contenant un document 2021-01-03T09:52:24Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment507197 2021-01-03T09:52:24Z <p>Oui ou plus simplement qu'une boucle utilisez une balise #INFO_ :<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">#INFO_TITRE{article, #ID_OBJET}</code> <br class="autobr"> voir la doc : <a href="https://www.spip.net/5544" class="spip_url spip_out auto" rel="nofollow external">https://www.spip.net/5544</a></p> Boucle pour récupérer l'article contenant un document 2021-01-02T20:59:43Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment507196 2021-01-02T20:59:43Z <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><B_documents> <BOUCLE_documents(DOCUMENTS documents_liens){objet = article}{id_document}> --> ici les documents </BOUCLE_documents> </B_documents> RIEN <//B_documents></code></pre></div> Boucle pour récupérer l'article contenant un document 2015-01-06T00:11:41Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment478721 2015-01-06T00:11:41Z <p>Bonsoir,<br class="autobr"> Je viens de passer un site de SPIP 2 À 3 et la boucle suivante n'affiche plus rien :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_d(DOCUMENTS documents_liens articles types_documents) {objet = article} {id_rubrique=35} {0, 1}> [<a href="#URL_DOCUMENT"> (#FICHIER |image_passe_partout{255,165} |image_recadre{255,165,center} |image_aplatir{jpg,ffffff} |inserer_attribut{class,spip_documents_center})</a>] </BOUCLE_d></code></pre></div> <p>J'ai essayé les différents exemples alternatifs sur cette page sans succès (je ne sais plus trop quelle est la dernière version du coup) mais il semblerait que le code initial ne soit pas valide pour SPIP3.</p> <p>Merci<br class="autobr"> dd</p> Boucle pour récupérer l'article contenant un document 2011-09-14T16:49:20Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment449761 2011-09-14T16:49:20Z <p>J'ai trouvé finalement, voici la boucle :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_origine(documents_liens documents){objet = article}{id_document}{0, 1}> <a href="[(#URL_ARTICLE{#ID_OBJET})]">Lire l'article<BOUCLE_queltitre(ARTICLES){id_article=#ID_OBJET}>[ : (#TITRE)]</BOUCLE_queltitre></a> </BOUCLE_origine></code></pre></div> <p>Si ça peut servir…</p> Boucle pour récupérer l'article contenant un document 2011-09-14T16:36:08Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment449760 2011-09-14T16:36:08Z <p>J'ai voulu adapter ce script pour lier un document donné à l'article (au moins un) auquel il est lié. Je n'arrive pas à faire apparaitre le titre de l'article, voici ce que j'ai tenté :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_origine(documents_liens documents) {objet = article} {id_document} {0, 1}> [<a href="[(#URL_ARTICLE{#ID_OBJET})]">Lire l'article[ (#TITRE{#ID_OBJET})]</a>] </BOUCLE_origine></code></pre></div> <p>Manifestement <code class="spip_code spip_code_inline" dir="ltr">[ (#TITRE{#ID_OBJET})]</code> ne convient pas…</p> Boucle pour récupérer l'article contenant un document 2011-01-22T04:59:25Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment439865 2011-01-22T04:59:25Z <p>Voici la boucle qui marche vraiment pour avoir un affichage aléatoire :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_images(documents_liens documents){extension IN png,jpg,gif}{par hasard}{0, 5}{statut=publie}> <a href="[(#URL_ARTICLE{#ID_OBJET})]" [title="(#TITRE|attribut_html|couper{80})"] class="vignette_photos_menu"> [(#LOGO_DOCUMENT||image_reduire{0,104}|image_recadre{158,104,'center','999999'}|inserer_attribut{alt,[(#TITRE|attribut_html|couper{80})]})] </a> </BOUCLE_images></code></pre></div> Boucle pour récupérer l'article contenant un document 2011-01-22T04:21:19Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment439864 2011-01-22T04:21:19Z <p>Voici la boucle qui a finalement marché sous spip 2.1.5 :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_images(documents_liens documents) {objet = article} {extension IN png,jpg,gif} {0, 5} {statut=publie} > <a href="[(#URL_ARTICLE{#ID_OBJET})]" [title="(#TITRE|attribut_html|couper{80})"] class="vignette_photos_menu"> [(#LOGO_DOCUMENT||image_reduire{0,104}|inserer_attribut{alt,[(#TITRE|attribut_html|couper{80})]})] </a> </BOUCLE_images></code></pre></div> Boucle pour récupérer l'article contenant un document 2010-07-08T19:07:34Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment432516 2010-07-08T19:07:34Z <p>tu peux aussi regarder cette contribution <br class="manualbr"><a href='https://contrib.spip.net/Afficher-une-planche-contact-des-images-du-site' class="spip_in" rel='nofollow'>Afficher une planche contact des images du site</a></p> Boucle pour récupérer l'article contenant un document 2010-07-08T16:09:54Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment432515 2010-07-08T16:09:54Z <p>Bonjour,</p> <p>La seconde solution a l'air de fonctionner en 2.0, merci beaucoup<small class="fine d-inline"> </small>!</p> <p>Itinerrant</p> Boucle pour récupérer l'article contenant un document 2010-07-07T20:49:02Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment432487 2010-07-07T20:49:02Z <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_d(DOCUMENTS_LIENS documents articles) {objet = article} {par hasard}{extension==jpg|png|gif} {0, 1}{statut=publie}> [<a href="#URL_ARTICLE{#ID_OBJET}"> (#LOGO_DOCUMENT||inserer_attribut{alt, #TITRE}|inserer_attribut{class, right photo}) </a> ] </BOUCLE_d></code></pre></div> <p>pas sûr que ca marche en 2.0 mais ca marche en 2.1</p> <p>si ca marche pas en 2.0, testez ceci :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_d(DOCUMENTS_LIENS documents articles) {objet = article} {par hasard}{extension==jpg|png|gif} {0, 1}{articles.statut=publie}> [<a href="#URL_ARTICLE{#ID_OBJET}"> (#LOGO_DOCUMENT||inserer_attribut{alt, #TITRE}|inserer_attribut{class, right photo}) </a> ] </BOUCLE_d></code></pre></div> Boucle pour récupérer l'article contenant un document 2010-07-07T20:45:38Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment432485 2010-07-07T20:45:38Z <p>remplacez <code class="spip_code spip_code_inline" dir="ltr">DOCUMENTS_LIENS</code> par <code class="spip_code spip_code_inline" dir="ltr">spip_DOCUMENTS_LIENS</code></p> <p>ou bien (l'un ou l'autre)</p> <p>dans mes_options.php</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>global $table_des_tables; $table_des_tables['documents_liens']='documents_liens';</code></pre></div> Boucle pour récupérer l'article contenant un document 2010-07-07T19:34:08Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment432483 2010-07-07T19:34:08Z <p>Bonjour,</p> <p>J'utilise en effet cette boucle qui fonctionne très bien pour afficher une image au hasard, avec un lien vers l'article qui la contient. En revanche, elle ne semble pas tenir compte du statut (publié, en cours de rédaction, etc.) de l'article en question, ce qui fait qu'on se retrouve parfois avec un lien vers un article non publié, et donc inopérant.</p> <p>Quelqu'un aurait-il une idée pour circonvenir ce problème<small class="fine d-inline"> </small>?</p> <p>Merci,</p> <p>Itinerrant</p> Boucle pour récupérer l'article contenant un document 2010-06-01T05:54:51Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment431101 2010-06-01T05:54:51Z <p>Bonjour,</p> <p>Cette boucle (très utile) ne fonctionne plus avec Spip 2.1. <br class="autobr"> Quelqu'un saurait il comment la rendre compatible<small class="fine d-inline"> </small>?</p> <p>Merci :o)</p> Boucle pour récupérer l'article contenant un document 2009-10-10T06:35:49Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment421462 2009-10-10T06:35:49Z <p>non non.<br class="manualbr">rien de magique ici.</p> <p>dans la table de liaison <i>spip_documents_liens</i>, <i>id_objet</i> est l'id de l'objet (article, rubrique, mot, site...) pour lequel il existe un lien avec le document d'id <i>id_document</i>.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>+-------------+----------+----------+-----+ ! id_document ! id_objet ! objet ! vu ! +-------------+----------+----------+-----+ ! 14 ! 36 ! article ! oui ! ! 363 ! 66 ! rubrique ! non ! ! ... ! ... ! ... ! ... !</code></pre></div> <p>ici, le document d'id 14 est inclu (<i>«<small class="fine d-inline"> </small>vu = oui<small class="fine d-inline"> </small>»</i>) dans l'article (<i>objet = article</i>) dont l'url est <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE{36}</code> (id_article étant construit à partir de <i>«<small class="fine d-inline"> </small>id_objet = 36<small class="fine d-inline"> </small>»</i>)</p> <p>voir une explication peut-être plus complète dans ce thread de la liste spip.user <a href="http://thread.gmane.org/gmane.comp.web.spip.user/148411/focus=148523" class="spip_url spip_out" rel='nofollow external'>http://thread.gmane.org/gmane.comp....</a></p> Boucle pour récupérer l'article contenant un document 2009-10-10T06:00:18Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment421461 2009-10-10T06:00:18Z <p>Merci de ta réponse... claire mais qui ne m'éclaire pas tant que ça. J'avais bien compris la requète. C'est l'écriture <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE{#ID_OBJET}</code> qui m'épatait<small class="fine d-inline"> </small>!</p> <p>Je me demandais comment elle fonctionnait. <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE </code>est une balise dynamique qui reconstitue d'une manière un peu magique à mes yeux l'url d'un article et on peut un peu s'attendre à une écriture du genre <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE{#ID_ARTICLE}</code>. Là, la présence de <code class="spip_code spip_code_inline" dir="ltr">#ID_OBJET</code>c'est un peu inattendu et je souhaitais savoir si c'était documenté quelque part... Peut-être faut-il tout simplement penser que <code class="spip_code spip_code_inline" dir="ltr">#ID_OBJET</code> est tout simplement un objet plus général englobant tous les objets (articles, rubriques, documents...) de SPIP<small class="fine d-inline"> </small>?</p> Boucle pour récupérer l'article contenant un document 2009-10-09T18:33:17Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment421453 2009-10-09T18:33:17Z <p>La table <code class="spip_code spip_code_inline" dir="ltr">DOCUMENTS_LIENS</code> a la structure suivante</p> <table class="table spip"> <tbody> <tr class="row_odd odd"> <td>Field</td> <td>Type</td> <td>Null</td> <td>Key</td> <td>Default</td> <td>Extra</td></tr> <tr class="row_even even"> <td>id_document</td> <td>bigint(21)</td> <td>NO</td> <td>PRI</td> <td>0</td> <td></td></tr> <tr class="row_odd odd"> <td>id_objet</td> <td>bigint(21)</td> <td>NO</td> <td>PRI</td> <td>0</td> <td></td></tr> <tr class="row_even even"> <td>objet</td> <td>varchar(25)</td> <td>NO</td> <td>PRI</td> <td>NULL</td> <td></td></tr> <tr class="row_odd odd"> <td>vu</td> <td>enum('non','oui')</td> <td>NO</td> <td></td> <td>non</td> <td></td></tr> </tbody> </table> <p>Dans la boucle, on cherche le document pris <code class="spip_code spip_code_inline" dir="ltr">{par hasard} </code>,à condition que ce soit une image <code class="spip_code spip_code_inline" dir="ltr">{extension==jpg|png|gif} </code> et que l'objet (c'est à dire ici le contenant de l'image) soit un article <code class="spip_code spip_code_inline" dir="ltr">{objet = article}</code><br class="autobr"> . La boucle retourne alors l'<code class="spip_code spip_code_inline" dir="ltr">id_objet</code> de l'objet article.</p> <p>J'espère que c'est clair<small class="fine d-inline"> </small>!!!_</p> <p>SPIP reconstruit ensuite l'url à partir de la balise <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE</code>.</p> Boucle pour récupérer l'article contenant un document 2009-10-09T13:10:22Z https://contrib.spip.net/Boucle-pour-recuperer-l-article#comment421447 2009-10-09T13:10:22Z <p>Une petite explication de texte pour l'écriture pour aider à comprendre comment « marche » cette écriture...<small class="fine d-inline"> </small>?<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">#URL_ARTICLE{#ID_OBJET}</code><br class="autobr"> C'est documenté qqpart<small class="fine d-inline"> </small>?<br class="autobr"> Merci d'avance</p>