Comment savoir si un article est virtuel - comments Comment savoir si un article est virtuel 2014-06-03T02:40:31Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment475644 2014-06-03T02:40:31Z <p>pour compléter, un bout de code pratique pour SPIP 3<br class="autobr" /> si l'article est une redirection vers l'extérieur, l'ouvrir dans une nouvelle fenêtre (je sais c'est mal ...)</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code><span class="re11"><BOUCLE_art</span><span class="re12">(ARTICLES)</span><span class="re13"><span class="re41">{id_rubrique}</span></span><span class="re10">></span> <a href="<span class="re1">#URL_ARTICLE</span>"<span class="re4">[</span><span class="re4">(</span><span class="re1">#VIRTUEL</span><span class="re50">|match</span><span class="re40">{^http://}</span><span class="re50">|oui</span><span class="re4">)</span> target="_blank"<span class="re4">]</span>><span class="re1">#TITRE</span></a> <span class="re15"></BOUCLE_art></span> </code></pre></div> Comment savoir si un article est virtuel 2012-12-09T16:27:08Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment463833 2012-12-09T16:27:08Z <p>pour forcer à ouvrir une nouvelle page si l'article est virtuel en Spip 3 la redirection est stockée dans le champ “virtuel”</p> <p><a<abbr title="?{' target="_blank"',''})">(#VIRTUEL</abbr> href="#URL_ARTICLE" >[(#TITRE|textebrut|supprimer_numero)]</p> Comment savoir si un article est virtuel 2012-06-06T02:39:14Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment458106 2012-06-06T02:39:14Z <p>en syntaxe “moderne” (spip2 et+)<br class="autobr" /> cela donne <code>[(#CHAPO*|match{^=}|?{oui,non})]</code></p> Comment savoir si un article est virtuel en SPIP 2 2009-07-27T00:16:13Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment418661 2009-07-27T00:16:13Z <p>Utiliser <abbr title="adresse_virtuelle)">(#CHAPO*</abbr></p> Comment savoir si un article est virtuel en SPIP 2 2009-02-05T09:54:16Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment413041 2009-02-05T09:54:16Z <p>apparement cela a évolué avec SPIP 2</p> <p><a href="http://archives.rezo.net/spip.mbox/200901.mbox/%3Cgl0c6n$f81$1@ger.gmane.org%3E" class="spip_out" rel='nofollow external'>une solution lue sur la liste</a></p> <p><strong>Ajout dans mes_fonctions.php</strong></p> <div class="precode"><pre dir="ltr" style="text-align: left;"><code>function adresse_virtuelle($lien) { $lien = strip_tags($lien); if ($lien[0] != '=') return ''; $lien = substr($lien,1); if (preg_match(",^(https?:|mailto:|www.),", $lien)) return traiter_lien_explicite($lien); else return traiter_lien_implicite ($lien); }</code></pre></div> <p><strong>Appel dans squelette</strong><br class="manualbr" /><code>[(#CHAPO|adresse_virtuelle)]</code></p> Comment savoir si un article est virtuel 2007-02-08T15:32:50Z https://contrib.spip.net/Comment-savoir-si-un-article-est#comment390974 2007-02-08T15:32:50Z <p>Je voudrais que le lien affiche directement la page de redirection. Donc si je fais :</p> <div class="precode"><pre dir="ltr" style="text-align: left;"><code><BOUCLE_article_virtuel(ARTICLES) {id_rubrique} {chapo==^=}> <a href="#CHAPO*">#TITRE</a> </BOUCLE_article_virtuel></code></pre></div> <p>Le lien affiche “<a href="http://www.mon-domaine.tld=http://www.autre-domaine.tld/page" class="spip_url spip_out auto" rel="nofollow external">http://www.mon-domaine.tld=http://www.autre-domaine.tld/page</a>”, alors que je voudrais “<a href="http://www.autre-domaine.tld/page" class="spip_url spip_out auto" rel="nofollow external">http://www.autre-domaine.tld/page</a>”.</p> <p>J'ai dû faire un filtre :</p> <div class="precode"><pre dir="ltr" style="text-align: left;"><code><BOUCLE_article_virtuel(ARTICLES) {id_rubrique} {chapo==^=}> <a href="[(#CHAPO*|redirection_chapo)]">#TITRE</a> </BOUCLE_article_virtuel></code></pre></div> <p>avec le filtre :</p> <div class="precode"><pre dir="ltr" style="text-align: left;"><code>function redirection_chapo($chapo) { // corrige "http://www.mon-domaine.tld=http://www.autre-domaine.tld/page" // en "http://www.autre-domaine.tld/page" if (preg_match("/^(.+)=((?:https?|ftp):\/\/.+)$/", $chapo, $regs)) return $regs[2]; // au cas où le lien est "www..." sans http:// : elseif (preg_match("/^(.+)=(www\..+)$/", $chapo, $regs)) return "http://" . $regs[2]; }</code></pre></div>