SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 96 visiteurs en ce moment

Accueil > Rédaction > Archives Rédaction > Typographie pour avant SPIP 1.9 > Accorder au pluriel

Accorder au pluriel

25 avril 2003 – par roustoubi – commentaires

0 vote

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Ce filtre permet d’accorder un ou deux (voire plus en répétant le principe du code) noms au pluriel selon le résultat de la boucle qui le quantifie. Les noms sont passés au singulier en paramètres du filtre (SPIP 1.5a2 et ultérieurs).

Fonctionnalité native depuis SPIP 3.x

Se reporter au filtre https://www.spip.net/fr_article4002.html

Pour les versions précédentes de SPIP

Particulièrement utile selon moi pour afficher le nombre d’articles, de messages dans le forum, ...

Par exemple :

Affichera : « il y a 1 un article dans cette rubrique », ou « il y a 49 articles dans cette rubrique ».

et

Affichera : « il y a 1 un article publié dans cette rubrique », ou « il y a 49 articles publiés dans cette rubrique ».

Dernière modification de cette page le 19 mars 2018

Retour en haut de la page

Vos commentaires

  • Le 2 mai 2003 à 16:05, par François Schreuer En réponse à : > Accorder au pluriel

    Effectivement tout simple et très utile. Pourquoi ne pas suggérer que cette fonction soit ajoutée dans les prochaines distributions de SPIP ?

    • Le 2 mai 2003 à 21:40, par roustoubi En réponse à : > Accorder au pluriel

      Parce qu’il répond de façon simple à un besoin simple et que les situations peuvent être beaucoup plus complexes que de rajouter un « s » (son, ses, ...). Les devs de SPIP sont bien plus malins que moi et veulent le plus souvent se rapprocher de l’universalité de la fonction plutôt que de bidouilles ponctuelles de ce type. Mais c’est impec au cas au par cas.

    • Le 28 mars 2006 à 11:48, par fredbref En réponse à : > Accorder au pluriel

      nouvelle difficulté pour accorder par exemple :

      Il y a 1 nouvel article dans cette rubrique depuis 3 jours

      Il y a 2 nouveaux articles dans cette rubrique...

      où il ne s’agit plus seulement d’ajouter (aux) mais aussi de retrancher le « l »... une solution ?

    Répondre à ce message

  • Le 23 janvier 2005 à 15:14, par James En réponse à : > Accorder au pluriel

    Si j’avais mieux fouillé, je ne me serais pas cassé la tête à faire mon propre filtre ;-)

    Toutefois, le filtre ci-dessous pourrait intéresser :

    /***
    * filtre à appliquer à #TOTAL_BOUCLE
    ***/
    function pluriel($nombre, $singulier, $pluriel='') {
     global $pluriel_renvoie_zero;
     tester_variable("pluriel_renvoie_zero", true);
     if($pluriel_renvoie_zero AND $nombre == 0)
       return _T("local/public/spip:aucun_".$singulier);
     if($nombre == 0) return '';
     if(!$pluriel) $pluriel = $singulier."s";
     $code = $nombre>1?$pluriel:$singulier;
     return $nombre." "._T("local/public/spip:".$code);
    }

    Il s’appuie sur les fichiers de langue de spip, et permet donc d’internationaliser l’accord du pluriel dans un site SPIP.

    Les paramètres à fournir seront donc les codes qu’on utilise aussi sous la forme <:code:>

    exemple :

    [(#TOTAL_BOUCLE|pluriel{article})] renverra selon la valeur de #TOTAL_BOUCLE :

    • 0 —> <:aucun_article :> ou rien si on positionne $pluriel_renvoie_zero à false dans ecrire/mes_options.php3
    • 1 —> <:article :>
    • 2 et plus —> <:articles :>

    [(#TOTAL_BOUCLE|pluriel{article,autre_forme_de_pluriel})] :

    • 2 et plus —> <:autre_forme_de_pluriel :>

    surement améliorable.

    Répondre à ce message

  • Le 25 mars 2004 à 09:21, par marcopol En réponse à : > Accorder au pluriel

    J’ai trouvé 2 problèmes en voulant utiliser ce filtre ; voilà de quoi il s’agit :

    1°) Avec le mot "R&eacute;ponse" (celui que je veux accorder) ça ne passe pas alors que « Réponse » passe. Pas très grave, mais déroutant...

    2°) Lorsque le nombre est égal à 0, le filtre retourne une chaîne de caractère contenant 0 et non une chaîne vide. J’ai donc réalisé une version qui me convient mieux :

    function accord_pluriel ($nombre, $nom='') {
            switch ($nombre) {
             case 0 : return "";
             case 1 : return $nombre."&nbsp;".$nom;
             default : return $nombre."&nbsp;".$nom."s";
            }
    }

    je l’utilise comme ceci pour afficher le nombre de réponses à un article :

    <BOUCLE_forums_decpt(FORUMS){id_article}{plat}></BOUCLE_forums_decpt>
     [<b><a href="#URL_ARTICLE">(#TOTAL_BOUCLE|accord_pluriel{réponse})</a></b>]
    <//B_forums_decpt>
    • Le 22 décembre 2004 à 15:30, par claude En réponse à : > Accorder au pluriel

      Je n’ai pas réussi à utiliser ta proposition de modification du filtre.

      Avec celle de la contrib, je fais simplement :
      [(#TOTAL_BOUCLE|accord_pluriel{notice, 'trouv&eacute;e'}) &agrave; ce nom]

      la virgule permet déjà d’utiliser plusieurs mots contigus (voir plus haut) et les quotes simples de faire passer le html.

      J’ai donc bien « 1 notice trouvée » et « 3 notices trouvées ». Pour le cas où il n’y a rien, le tout est déjà dans une sous-boucle qui n’affiche rien s’il n’y a pas de résultats à #TOTAL_BOUCLE.

    • Le 22 décembre 2004 à 16:01, par claude En réponse à : > Accorder au pluriel

      et boum ! j’ai pas vu que le filtre supprimait le non affichage en cas de résultat nul de #TOTAL_BOUCLE (ça m’a percé mon gazoduc).

      Donc j’ai modifié le filtre pour résoudre celà :

      function accord_pluriel ($nombre, $nom1='', $nom2='') {
              if ($nom1=='') { return "Erreur filtre <b>&laquo; accord_pluriel &raquo;</b> : probl&egrave;me de param&egrave;tre"; }
              if ($nom2!='') {
                      $nom2 = " ".$nom2;
                      $nom2s = $nom2."s";
              }
              if ($nombre == "0") {
                      $texte = "" ;
              }
              elseif ($nombre == "1") {
                      $texte = $nombre."&nbsp;".$nom1.$nom2 ;
              }
              else {
                      $texte = $nombre."&nbsp;".$nom1."s".$nom2s ;
              }
              return $texte ;
      }

      Un petit elseif en plus.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

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

  • ORR v2

    21 mai 2013 – 108 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Mailshot

    16 janvier 2013 – 309 commentaires

    Ce plugin prend en charge l’envoi en nombre d’info-lettres par email. Mailshot permet l’envoi en nombre d’emails au moyen d’un SMTP (ou d’un service externe) dédié à cet effet. Il permet de limiter la cadence d’envoi. Enfin, ce plugin implémente la (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans le corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)

  • ScolaSPIP 4

    19 janvier 2016 – 346 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 (...)

  • Spipagram : Importer des images Instagram dans SPIP

    29 février 2016 – 10 commentaires

    Ce plugin permet d’importer des images Instagram comme articles SPIP dans la rubrique de votre choix avec le hashtag de votre choix. Installation Si vous n’avez pas déjà le dépôt externals dans votre SPIP, ajoutez le dépôt (...)