article virtuel

Bonjour,

Avec les articles virtuels de SPIP 2.0, existe-t-il une balise pour avoir l'adresse de l'article redirigé à la place de l'article de redirection ?

>>> pas sur que ce sujet soit passé...

* Jilome tapuscrivait, le 15/01/2009 22:40:

Bonjour,

Avec les articles virtuels de SPIP 2.0, existe-t-il une balise pour avoir l'adresse de l'article redirigé à la place de l'article de redirection ?

Pas que je sache.
Mais c'est une bonne idée.
Et si tu proposais l'idée sur la liste de dev de SPIP ?

--
RealET

RealET a écrit :

Avec les articles virtuels de SPIP 2.0, existe-t-il une balise pour avoir l'adresse de l'article redirigé à la place de l'article de redirection ?

Pas que je sache.

article virtuel donc '=http...' dans #CHAPO.
non ?

ce qui produit en html :
   <p>=<a href="http://www.truc.org" class="spip_out"
   rel="nofollow">http://www.truc.org</a></p>

donc :
   [(#CHAPO|textebrut|substr{1})]
renvoie
   http://www.truc.org

(cqfd ?)

* denisb tapuscrivait, le 16/01/2009 00:44:

RealET a écrit :

Avec les articles virtuels de SPIP 2.0, existe-t-il une balise pour avoir l'adresse de l'article redirigé à la place de l'article de redirection ?

Pas que je sache.

article virtuel donc '=http...' dans #CHAPO.
non ?

ce qui produit en html :
  <p>=<a href="http://www.truc.org" class="spip_out"
  rel="nofollow">http://www.truc.org</a></p>

donc :
  [(#CHAPO|textebrut|substr{1})]
renvoie
  http://www.truc.org

(cqfd ?)

C'est pas si simple
On peut aussi renvoyer sur un objet SPIP
Exemple :
=12 : renvoie sur l'article 12
=aut15 : renvoie sur l'auteur 15

--
RealET

RealET a écrit :

C'est pas si simple
On peut aussi renvoyer sur un objet SPIP
Exemple :
=12 : renvoie sur l'article 12
=aut15 : renvoie sur l'auteur 15

désolé.
j'avais mal lu la demande initiale : adresse de l'*article*...

* RealET tapuscrivait, le 16/01/2009 01:20:

* denisb tapuscrivait, le 16/01/2009 00:44:

RealET a écrit :

Avec les articles virtuels de SPIP 2.0, existe-t-il une balise pour avoir l'adresse de l'article redirigé à la place de l'article de redirection ?

Pas que je sache.

article virtuel donc '=http...' dans #CHAPO.
non ?

ce qui produit en html :
  <p>=<a href="http://www.truc.org" class="spip_out"
  rel="nofollow">http://www.truc.org</a></p>

donc :
  [(#CHAPO|textebrut|substr{1})]
renvoie
  http://www.truc.org

(cqfd ?)

C'est pas si simple
On peut aussi renvoyer sur un objet SPIP
Exemple :
=12 : renvoie sur l'article 12
=aut15 : renvoie sur l'auteur 15

Du coup, il faudrait en gros faire un propre de "[->#CHAPO sans le =]" et extraire_attribut{href}

--
RealET

RealET a écrit :

Du coup, il faudrait en gros faire un propre de "[->#CHAPO sans le =]" et extraire_attribut{href}

à la louche (et sans aucun doute à affiner) :

dans mes_fonctions.php :
   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);
   }

appel dans le squelette :
   [(#CHAPO|adresse_virtuelle)]

retourne :
   rien
     si #CHAPO n'est pas une redirection

   spip.php?objetid
     si #CHAPO redirection vers article, document, auteur...

   http://www.site.org
     si #CHAPO redirection vers site

ça peut être une lame du CS, tiens.
tout comme une balise #URL_REDIRECTION peut-être...
Pat

denisb a écrit :

RealET a écrit :

Du coup, il faudrait en gros faire un propre de "[->#CHAPO sans le =]" et extraire_attribut{href}

à la louche (et sans aucun doute à affiner) :

dans mes_fonctions.php :
  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);
  }

appel dans le squelette :
  [(#CHAPO|adresse_virtuelle)]

retourne :
  rien
    si #CHAPO n'est pas une redirection

  spip.php?objetid
    si #CHAPO redirection vers article, document, auteur...

  http://www.site.org
    si #CHAPO redirection vers site

Désolé de ne pas avoir suivi.... Merci.

@RealET - je ne pensais pas que ce soit une missing feature, je pensais juste ne pas avoir été assez malin pour trouver :wink:

@denisb - je ne sais pas d'ou tu sors la fonction traiter_lien_explicite... Je suis en 2.0.3, depuis le 2.0 il n'est plus évoqué ques les articles virtuels sont dans CHAPO ?! Et j'ai pas activé CHAPO. J'ai essayé la fonction avec CHAPO et URL_ARTICLE. Je me retrouve sans URL dans les deux cas...

ça peut être une lame du CS, tiens.
tout comme une balise #URL_REDIRECTION peut-être...
Pat

denisb a écrit :

RealET a écrit :

Du coup, il faudrait en gros faire un propre de "[->#CHAPO sans le =]" et extraire_attribut{href}

à la louche (et sans aucun doute à affiner) :

dans mes_fonctions.php :
  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);
  }

appel dans le squelette :
  [(#CHAPO|adresse_virtuelle)]

retourne :
  rien
    si #CHAPO n'est pas une redirection

  spip.php?objetid
    si #CHAPO redirection vers article, document, auteur...

  http://www.site.org
    si #CHAPO redirection vers site

Jilome a écrit :

@denisb - je ne sais pas d'ou tu sors la fonction traiter_lien_explicite... Je suis en 2.0.3, depuis le 2.0 il n'est plus évoqué ques les articles virtuels sont dans CHAPO ?! Et j'ai pas activé CHAPO. J'ai essayé la fonction avec CHAPO et URL_ARTICLE. Je me retrouve sans URL dans les deux cas...

en 2.0.3, CHAPO désactivé (dans configuration),
je donne l'url dans la boite 'REDIRECTION'
de ecrire/?exec=articles&id_article=xx

avec la fonction donnée (dans mes_fonctions.php placé dans squelettes/)
et l'appel par [(#CHAPO|adresse_virtuelle)] dans un squelette quelconque
(dans une boucle ARTICLES hein !)
ici, ça marche™ ...

c'est à dire que ça 'affiche' le texte du lien (l'adresse) ;
ça ne 'construit' pas le lien : <a href="....">

pour avoir le lien construit *et* le texte de lien correspondant
soit au titre de l'article, soit à l'adresse de redirection :
   <a href="#URL_ARTICLE">
   [(#CHAPO|adresse_virtuelle|?{[(#CHAPO|adresse_virtuelle)],#TITRE})]
   </a>

Merci, je vais creuser, ma configuration est exactement celle que tu décris.

Je ne comprends pas trop bien les deux derniers paragraphes mais je vais relire calmement...

denisb a écrit :

Jilome a écrit :

@denisb - je ne sais pas d'ou tu sors la fonction traiter_lien_explicite... Je suis en 2.0.3, depuis le 2.0 il n'est plus évoqué ques les articles virtuels sont dans CHAPO ?! Et j'ai pas activé CHAPO. J'ai essayé la fonction avec CHAPO et URL_ARTICLE. Je me retrouve sans URL dans les deux cas...

en 2.0.3, CHAPO désactivé (dans configuration),
je donne l'url dans la boite 'REDIRECTION'
de ecrire/?exec=articles&id_article=xx

avec la fonction donnée (dans mes_fonctions.php placé dans squelettes/)
et l'appel par [(#CHAPO|adresse_virtuelle)] dans un squelette quelconque
(dans une boucle ARTICLES hein !)
ici, ça marche™ ...

c'est à dire que ça 'affiche' le texte du lien (l'adresse) ;
ça ne 'construit' pas le lien : <a href="....">

pour avoir le lien construit *et* le texte de lien correspondant
soit au titre de l'article, soit à l'adresse de redirection :
  <a href="#URL_ARTICLE">
  [(#CHAPO|adresse_virtuelle|?{[(#CHAPO|adresse_virtuelle)],#TITRE})]
  </a>

Jilome a écrit :

Je ne comprends pas trop bien les deux derniers paragraphes mais je vais relire calmement...

la fonction que je donne retourne le 'texte' de l'adresse
et pas un 'lien cliquable'

denisb a écrit :

Jilome a écrit :

Je ne comprends pas trop bien les deux derniers paragraphes mais je vais relire calmement...

la fonction que je donne retourne le 'texte' de l'adresse
et pas un 'lien cliquable'

Ok.