SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 108 visiteurs en ce moment

Accueil du site > Documentation > Archives documentation > Carnet Chantiers Contribs - archives avant 2007 > BaliseNomSite

BaliseNomSite

12 février 2005

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Si un visiteur laisse un commentaire (message de forum), en indiquant l’URL d’un site, mais sans préciser le nom du site, la boucle suivante :

<BOUCLE0(FORUMS){id_forum}>
[<a href="(#URL_SITE)" class="spip_out">
        (#NOM_SITE)
</a>]
</BOUCLE0>

n’affiche rien, et le lien, bien que présent, n’est pas cliquable.

Avec la version 1.7, une solution consisterait à remplacer (#NOM_SITE) par (#NOM_SITE|sinon{"Voir le site..."}). Mais on peut faire mieux avec la 1.8.

Solution A : nouveau filtre

Depuis le 13 janvier 2005, on dispose d’un filtre «  ? » permettant précisément de tester si une balise est vide. La syntaxe est [(#BALISE|?{si_non_vide,si_vide})]. Notez que les deux alternatives sont séparées par une virgule ’,’ comme dans les filtres SPIP (et non par un deux-points ’ :’ comme dans l’opérateur ternaire PHP correspondant A ? B : C ).

<BOUCLE0(FORUMS){id_forum}>
[<a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|?{#NOM_SITE,#URL_SITE})]</a>]
</BOUCLE0>

Solution B : surcharger la balise

Cette solution consiste à surcharger la balise #NOM_SITE pour qu’elle fournisse le nom du site si il a été donné par le visiteur, et sinon, à le fabriquer à partir de l’url du site. C’est plus compliqué mais permet au passage de metre en forme le texte de l’url.

Dans le fichier mes_fonctions.php3 (*** Vérifier si c’est pas mes_options.php3 SVP, Minh ***, oui je confirme que c’est bien mes_fonctions.php3 comme pour les filtres, YvesGrenier), il faut ajouter les deux fonctions suivantes qui permet de redéfinir la balise #NOM_SITE :

La première fonction (mon_calcul...) retourne le champ nom_site si il est non vide. Sinon, on récupère l’url en retirant les lettres « http:// » si on les trouve au début, et en retirant un « / » final si nécessaire.

La seconde fonction est celle qui surcharge la balise. Les deux premières instructions récupèrent les deux champs nom_site et url_site. La troisième indiquera au compilateur la fonction qui sera utilisée pour choisir entre les deux champs.

(Minh) Questions : Pourquoi les _ devant nom_site et _url_site ? Pourquoi tu mets pas [/]$ dans la première expression régulière pour simplifier ? Tu voudrais raccourcir en calcul_nom_site ?
(YvesGrenier) Réponses : j’ai choisi des noms de variables proches de nom_site et url_site, mais différents, pour éviter la confusion avec le nom du champ (je ne sais pas si il y a un risque pour le compilateur, mais le risque est au moins pour le programmeur). Mettre un « _ » devant est un moyen simple de le faire. Pour la deuxième question : je n’ai pas utilisé la première expression régulière pour éliminer aussi l’éventuel « / » de la fin d’url parce que j’arrivais à une ambiguité. Mettre simplement ’http://(.*)[/]$’ eliminerait les chaînes ne se terminant pas par « / ». Il faudrait alors utiliser une expression régulière qui serait ’http://(.*)[/] ?$’ où le point d’interrogation permettrait d’éliminer un ou zéro caractère « / », mais le résultat est ambigu, car une chaîne se terminant par « / » peut aussi bien être interprétée en mettant le « / » dans la sélection (.*) ou dans [/].

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin SPIPAL

    10 janvier 2011 – 79 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles . Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il change de nom pour ne pas faire trop de (...)

  • Le menu déroulant Babbibel

    2 juin 2009 – 303 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un menu déroulant horizontal en jQuery sans limitation de profondeur et configurable avec CFG.

  • Traductions d’articles autrement 3

    8 octobre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Adaptation pour SPIP 3 du plugin Traductions d’articles autrement Ce plugin modifie légèrement l’interface de SPIP afin de rendre la traduction des articles plus aisée. Principe Des liens de langues, affichés en haut de l’article, permettent de (...)

  • Brownygreen

    3 février – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un thème simple de couleur marron et vert, en largeur fixe, constitué de 2 colonnes avec une en-tête facilement personnalisable. Présentation Adaptation de Versatility par E-cosystems. Si vous utilisez le plugin Menus, une navigation principale (...)

  • Corbeille

    2 novembre 2008 – 27 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un plugin pour retrouver les éléments supprimés dans la corbeille.