Boucle pour récupérer l'article contenant un document - comments 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" /> <span class="coloration_code code"><code class="spip_spip code"><span class="re1">#INFO_TITRE</span><span class="re40">{article, <span class="re1">#ID_OBJET</span>}</span></code></span> <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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re15"><B_documents></span> <span class="re11"><BOUCLE_documents</span><span class="re12">(DOCUMENTS documents_liens)</span><span class="re13"><span class="re41">{objet = article}</span><span class="re41">{id_document}</span></span><span class="re10">></span> --> ici les documents <span class="re15"></BOUCLE_documents></span> <span class="re15"></B_documents></span> RIEN <span class="re15"><//B_documents></span></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 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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_origine</span><span class="re12">(documents_liens documents)</span><span class="re13"><span class="re41">{objet = article}</span><span class="re41">{id_document}</span><span class="re41">{0, 1}</span></span><span class="re10">></span> <a href="<span class="re4">[</span><span class="re4">(</span><span class="re1">#URL_ARTICLE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span><span class="re4">)</span><span class="re4">]</span>">Lire l'article<span class="re11"><BOUCLE_queltitre</span><span class="re12">(ARTICLES)</span><span class="re13"><span class="re41">{id_article=<span class="re1">#ID_OBJET</span>}</span></span><span class="re10">></span><span class="re4">[</span> : <span class="re4">(</span><span class="re1">#TITRE</span><span class="re4">)</span><span class="re4">]</span><span class="re15"></BOUCLE_queltitre></span></a> <span class="re15"></BOUCLE_origine></span></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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_origine</span><span class="re12">(documents_liens documents)</span> <span class="re13"> <span class="re41">{objet = article}</span></span> <span class="re13"> <span class="re41">{id_document}</span></span> <span class="re13"> <span class="re41">{0, 1}</span></span><span class="re10">></span> [<a href="<span class="re4">[</span><span class="re4">(</span><span class="re1">#URL_ARTICLE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span><span class="re4">)</span><span class="re4">]</span>">Lire l'article<span class="re4">[</span> <span class="re4">(</span><span class="re1">#TITRE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span><span class="re4">)</span><span class="re4">]</span></a>] <span class="re15"></BOUCLE_origine></span></code></pre></div> <p>Manifestement <code>[ (#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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_images</span><span class="re12">(documents_liens documents)</span><span class="re13"><span class="re41">{extension IN png,jpg,gif}</span><span class="re41">{par hasard}</span><span class="re41">{0, 5}</span><span class="re41">{statut=publie}</span></span><span class="re10">></span> <a href="<span class="re4">[</span><span class="re4">(</span><span class="re1">#URL_ARTICLE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span><span class="re4">)</span><span class="re4">]</span>" <span class="re4">[</span>title="<span class="re4">(</span><span class="re1">#TITRE</span><span class="re50">|attribut_html</span><span class="re50">|couper</span><span class="re40">{80}</span><span class="re4">)</span>"<span class="re4">]</span> class="vignette_photos_menu"> [(<span class="re1">#LOGO_DOCUMENT</span>|<span class="re50">|image_reduire</span><span class="re40">{0,104}</span><span class="re50">|image_recadre</span><span class="re40">{158,104,'center','999999'}</span><span class="re50">|inserer_attribut</span><span class="re40">{alt,<span class="re4">[</span><span class="re4">(</span><span class="re1">#TITRE</span><span class="re50">|attribut_html</span><span class="re50">|couper</span>{80}<span class="re4">)</span><span class="re4">]</span>}</span>)] </a> <span class="re15"></BOUCLE_images></span></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 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" hreflang="fr" 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 !</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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_d</span><span class="re12">(DOCUMENTS_LIENS documents articles)</span> <span class="re13"> <span class="re41">{objet = article}</span></span> <span class="re13"> <span class="re41">{par hasard}</span><span class="re41">{extension==jpg<span class="re50">|png</span><span class="re50">|gif</span>}</span></span> <span class="re13"> <span class="re41">{0, 1}</span><span class="re41">{statut=publie}</span></span><span class="re10">></span> [<a href="<span class="re1">#URL_ARTICLE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span>"> (<span class="re1">#LOGO_DOCUMENT</span>|<span class="re50">|inserer_attribut</span><span class="re40">{alt, <span class="re1">#TITRE</span>}</span><span class="re50">|inserer_attribut</span><span class="re40">{class, right photo}</span>) </a> ] <span class="re15"></BOUCLE_d></span></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 dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_d</span><span class="re12">(DOCUMENTS_LIENS documents articles)</span> <span class="re13"> <span class="re41">{objet = article}</span></span> <span class="re13"> <span class="re41">{par hasard}</span><span class="re41">{extension==jpg<span class="re50">|png</span><span class="re50">|gif</span>}</span></span> <span class="re13"> <span class="re41">{0, 1}</span><span class="re41">{articles.statut=publie}</span></span><span class="re10">></span> [<a href="<span class="re1">#URL_ARTICLE</span><span class="re40">{<span class="re1">#ID_OBJET</span>}</span>"> (<span class="re1">#LOGO_DOCUMENT</span>|<span class="re50">|inserer_attribut</span><span class="re40">{alt, <span class="re1">#TITRE</span>}</span><span class="re50">|inserer_attribut</span><span class="re40">{class, right photo}</span>) </a> ] <span class="re15"></BOUCLE_d></span></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>DOCUMENTS_LIENS</code> par <code>spip_DOCUMENTS_LIENS</code></p> <p>ou bien (l'un ou l'autre)</p> <p>dans mes_options.php</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code><span class="kw2">global</span> <span class="re0">$table_des_tables</span><span class="sy0">;</span> <span class="re0">$table_des_tables</span><span class="br0">&#91;</span><span class="st_h">'documents_liens'</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st_h">'documents_liens'</span><span class="sy0">;</span></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 ?</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?</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 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>«vu = oui»</i>) dans l'article (<i>objet = article</i>) dont l'url est <code>#URL_ARTICLE{36}</code> (id_article étant construit à partir de <i>«id_objet = 36»</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>#URL_ARTICLE{#ID_OBJET}</code> qui m'épatait !</p> <p>Je me demandais comment elle fonctionnait. <code>#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>#URL_ARTICLE{#ID_ARTICLE}</code>. Là, la présence de <code>#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>#ID_OBJET</code> est tout simplement un objet plus général englobant tous les objets (articles, rubriques, documents...) de SPIP ?</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>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>{par hasard} </code>,à condition que ce soit une image <code>{extension==jpg|png|gif} </code> et que l'objet (c'est à dire ici le contenant de l'image) soit un article <code>{objet = article}</code><br class="autobr" /> . La boucle retourne alors l'<code>id_objet</code> de l'objet article.</p> <p>J'espère que c'est clair!!!_</p> <p>SPIP reconstruit ensuite l'url à partir de la balise <code>#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... ?<br class="autobr" /> <code>#URL_ARTICLE{#ID_OBJET}</code><br class="autobr" /> C'est documenté qqpart ?<br class="autobr" /> Merci d'avance</p>