SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 226 visiteurs en ce moment

Accueil > Administration et BDD > Mots clefs de SPIP > la balise #LESMOTS

la balise #LESMOTS

15 décembre 2006 – par James – commentaires

2 votes

Un modèle pour afficher les mots-clés d’un article

Il existe dans SPIP la balise #LESAUTEURS qui affiche la liste des auteurs associés à un article, en séparant chaque auteur par une virgule, avec un lien vers la page de chacun d’eux.

Depuis SPIP 1.9.1, cette balise s’appuie sur le concept des modèles.

Voici comment adapter le code de cette balise pour le reproduire au niveau des mots-clés d’un article :

d’abord la balise,

dans votre fichier mes_fonctions.php :

  1. function balise_LESMOTS($p){
  2. // Cherche le champ 'lesmots' dans la pile
  3. $_lesmots = champ_sql('lesmots', $p);
  4.  
  5. // Si le champ n'existe pas (cas de spip_articles), on applique
  6. // le modele lesmots.html en passant id_article dans le contexte;
  7. // dans le cas contraire on prend le champ SQL 'lesmots'
  8. if ($_lesmots AND $_lesmots != '$Pile[0][\'lesmots\']') {
  9. $p->code = "safehtml($_lesmots)";
  10. // $p->interdire_scripts = true;
  11. } else {
  12. $p->code = "recuperer_fond(
  13. 'modeles/lesmots',
  14. array('id_article' => ".champ_sql('id_article', $p)."))";
  15. $p->interdire_scripts = false; // securite apposee par recuperer_fond()
  16. }
  17.  
  18. return $p;
  19. }

Télécharger

puis le modèle.

dans un fichier modeles/lesmots.html :

  1. [(#REM)
  2. Affiche la liste des mots-clés d'un article
  3. ][(#REM)
  4. Modele pour la balise #LESMOTS, dans le cas des mots d'un article
  5. ]
  6. <BOUCLE_mots(MOTS) {id_article} {par titre} {", "}>
  7. <a href="#URL_MOT">#TITRE</a></BOUCLE_mots>

Télécharger

Exemple d’utilisation inspiré de la page sommaire.html de la distribution stable :

  1. <B_articles>
  2. <ul>
  3. <BOUCLE_articles(ARTICLES) {par date}{inverse}{pagination}>
  4. <li>
  5. <h3 class="titre"><a href="#URL_ARTICLE">#TITRE</a></h3>
  6. <small>[(#DATE|affdate)][, <:par_auteur:> (#LESAUTEURS)]</small>
  7. [<small>(#LESMOTS)</small>]
  8. </li>
  9. </BOUCLE_articles>
  10. </ul>
  11. </B_articles>

Télécharger

Un exemple de programmation de balise

L’objet de cette contribution n’est pas de fournir une recette exhaustive pour exploiter une nouvelle balise #LESMOTS mais pour montrer que la programmation par l’exemple est possible. Comparez le code ci-dessus avec la fonction balise_LESAUTEURS_dist que vous trouverez dans le fichier ecrire/public/balises.php ainsi que le modèle dist/modeles/lesauteurs.html et vous verrez. :)

Dernière modification de cette page le 21 octobre 2007

Retour en haut de la page

Vos commentaires

  • Le 29 septembre 2007 à 12:14, par Philippe Guérindon En réponse à : la balise #LESMOTS

    Bonjour,
    Merci pour la contrib.
    Je voudrais m’en servir pour modifier dynamiquement mon squelette (Sarka-Spip 2). L’idée est de permettre la réponse à un article uniquement pour ceux qui n’on_ pas le mot clef « pas_de_réponse » attaché à l’article.
    Je tourne en rond dans mes essais.
    Je voudrais par un modèle ou simplement une boucle conditionnelle ne pas affichier le code ci-dessous “entre ******” le cas échéant.
    Merci pour le coup de main.
    Philippe

    • Le 29 septembre 2007 à 14:30, par James En réponse à : la balise #LESMOTS

      Pour désactiver les commentaires d’un article, il y a plus simple : dans l’interface privée, page de l’article, dans le bloc "FORUM & PÉTITION", sélectionner pour Fonctionnement du forum l’élement « pas de forum » puis cliquer sur le bouton changer (référence : Quels sont les éléments gérés par SPIP ? chapitre 4. Les forums de discussion :

      Lorsque les forums sont actifs, il est possible, pour chaque article, d’y interdire localement l’usage d’un forum.

      ) Ceci est suffisant pour que la portion de code liée à #PARAMETRES_FORUM ne soit plus affichée.

    • Le 30 septembre 2007 à 11:09, par ? En réponse à : Intégration de Coppermine

      Boujour James,
      Ta réponse répond parfaitement à ma question.
      J’en ose une autre.

      Je suis en train de faire évoluer un de mes sites : http://www.asc-annemase.com en http://www.asc-annemasse.com/spip/. J’utilise depuis longtemps la galerie Coppermine mais je ne trouve nulle part le bridge coppermine dont il est question dans toutes les docs. As-tu une piste à me donner ?
      Encore merci pour le support.
      Philippe

    • Le 30 septembre 2007 à 11:54, par James En réponse à : Intégration de Coppermine

      Non désolé, je ne sais pas de quoi tu parles. Mais coppermine évoque vaguement les galleries de documents, ça n’a pas de rapport direct avec cette balise en tout cas :)

      Pose ta question sur la liste des utilisateurs : spip@rezo.net

    Répondre à ce message

  • Le 2 janvier 2007 à 04:37, par Loiseau2nuit En réponse à : la balise #LESMOTS

    James, tes contribs, c’est toujours un pur bonheur :D

    Maintenant que ça marche sur les articles (Et putôt bien même !), j’aimerais booster un peu ce modèle pour lui faire prendre en compte les brèves et les rubriques aussi. Aurais tu une idée à me soumettre ? (Parce que là, à part une bouvle conditionnelle, ce que je ne sais pas encore faire, je ne vois pas...)

    • Le 2 janvier 2007 à 23:07, par Loiseau2nuit En réponse à : la balise #LESMOTS

      Le Zzz. en pleine tribulation spipienne.

      J’ai donc, comme prévu, tenter d’étendre les possibilités de cette balise aux brèves et aux rubriques mais sans succès pour l’heure.

      J’ai retouché vite fait le modèle lesmots.html en remplaçant dans ma boucle l’appel

      par

      Mais visiblement ça ne suffit pas.

      J’ai tenté également 2 ou 3 bidouilles dans le fichier PHP mais c’est chaud, je n’y pane vraiment rien et j’ai eu peur de tout planter. :/

      Quelqu’un a une idée SVP ?

    • Le 3 janvier 2007 à 10:54, par James En réponse à : la balise #LESMOTS

      Salut,

      bonne idée de faire ça :)

      Il faudrait que la fonction php détecte le type d’objet et envoie l’identifiant avec la bonne désignation, en plus des modifs que tu as faite dans le fichier html, au bon endroit :

      if ($cle = $p->boucles[$p->id_boucle]->primary) {
              $id = champ_sql($primary, $p);
      }

      et remplacer :

      array('id_article' => ".champ_sql('id_article', $p)."))";

      par :

      array($cle => $id))";

    • Le 4 janvier 2007 à 02:21, par Loiseau2nuit En réponse à : la balise #LESMOTS

      Et ça :

      Tu le mets où ? Je viens d’essayer en plusieurs endroits de la fonction, je n’ai rien obtenu.
      En désespoir de cause, j’ai même tenté de l’intégrer directement dans le modèle HTML mais là ce fut le drame.

      En fait, maintenant, les pages (article rubrique et brève) m’affichent bien une liste de mots clés (c’est déjà ça :P ) mais TOUS les mots clés actifs du site (et crois moi ça fait un sacré bloc, chez moi...)

      sinon, dans le pire des cas j’ai une erreur php qui revient assez souvent :

      Parse error: syntax error, unexpected T_DOUBLE_ARROW, expecting ')' in W:\***\***\spip\ecrire\public\composer.php(73) : eval()'d code on line 1107

      doublé d’une erreur ds le squelette : erreur de compilation, le tout sur fond de page 404.

      Au rythme où je me les arrache, ce sont mes cheveux qui finiront par renvoyer une erreur 404 sur mon crâne :P

    Répondre à ce message

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

  • ScolaSPIP 4

    19 janvier 2016 – 276 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • SPIP 3, Agenda et FullCalendar

    6 août 2012 – 317 commentaires

    Depuis SPIP 3, l’affichage d’un agenda sous forme de calendrier par jour/semaine/mois à changé. Les filtres |agenda_memo et apparentés sont désormais obsolètes. Il en est de même pour les filtres agendafull_memo et apparentés du plugin Agenda. (...)

  • cimobile : plugin « détection et aiguillage des téléphones mobiles »

    20 septembre 2011 – 111 commentaires

    Le plugin « cimobile » détecte les téléphones mobiles et les aiguille vers le jeu de squelettes correspondant. Pour détecter un mobile, il prend en compte le « User-Agent », un cookie, un paramètre d’URL, une URL spécifique pour mobile. Il n’utilise pas (...)

  • Couleur de Rubrique

    9 juin 2012 – 58 commentaires

    Le plugin Couleur de rubrique est maintenant adapté à SPIP3. Il permet d’attribuer une couleur par rubrique de façon très simple : un bloc est ajouté sur la page rubrique de l’administration de votre site, qui vous permet de déterminer une couleur, de (...)

  • Passer un site SPIP sous https://

    23 février – 15 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)