Du pluriel dans le nb de commentaire(s)

LewoLewo Member
septembre 2011 modifié dans Entraide
Bonjour à tous,

Enfin ! Je me lance à l'assaut de cette dernière version de Pluxml... Pour bien faire les choses, j'ai décidé de reprendre mon thème à zéro. Un bon coup de ménage (il faut dire que j'ai pas mal bidouillé dans les rouages de la v5.0.2).

Je bloque sur une chose : le pluriel/singulier dans le nombre de commentaire.
J'avais bien trouvé une fonction pour la 5.0.2 mais, là, les choses on bien changées.
Je cherche à afficher (selon le nombre de commentaire(s) pour l'article) :
Zéro commentaire
Un commentaire
3 commentaireS
Est-ce que quelqu'un a une idée pour parvenir à ça ? Personnellement, je fouille dans les fonctions du Core hélas sans résultat... Je prend toutes les idées !

Réponses

  • Méthode fourbe : remplacer commentaire par avis... ?


    à plus,

    Gzyg
  • Gzyg,

    Beurk ! Non, trop fourbe... Pas dans le style de mon blog actuel (voir signature). Merci quand même pour cette proposition...
  • Finalement j'ai trouvé. Ce n'est certainement pas très propre, mais en attendant de pouvoir faire mieux, je vais utiliser ça. Je vous partage la modif ici.

    ATTENTION : Ceci touche au CORE de Pluxml. Utiliser ceci est à vos risques et périls.
    REMARQUE : Cette méthode ne gère PAS le multi-langue. Le singulier/pluriel est écris en dur dans le code.

    Dans core/lib/class.plx.show.php
    Chercher le code suivant :
    # On modifie nos motifs
    		$txt = str_replace('#nb',$nb,$format);
    		# On effectue l'affichage selon le mode
    		if($this->plxMotor->mode == 'article') {
    			echo $txt;
    		} else {
    			# On recupere les infos de l'article
    			$num = intval($this->plxMotor->plxRecord_arts->f('numero'));
    			$url = $this->plxMotor->plxRecord_arts->f('url');
    			# On effectue l'affichage
    			echo '<a href="'.$this->plxMotor->urlRewrite('?article'.$num.'/'.$url).'#comments" title="'.$txt.'">'.$txt.'</a>';
    		}
    	}
    
    Remplacer par ceci :
    # Gestion de l'orthographe
            if($nb < 1)
                $txt = 'Sans commentaire'; #Si pas de commentaire
            else
                if($nb == 1)
                $txt = 'Un commentaire'; #Si un seul commentaire
                else
                $txt = .$nb.' commentaires'; #Si minimum deux commentaires
    
            # On effectue l'affichage selon le mode
            if($this->plxMotor->mode == 'article') {
            if($nb < 1)
               echo '<a href="#form" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
            else
                echo '<a href="#comments" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
           } else {
                # On recupere les infos de l'article
                $num = intval($this->plxMotor->plxRecord_arts->f('numero'));
                $title = htmlspecialchars($this->plxMotor->plxRecord_arts->f('title'),ENT_QUOTES,PLX_CHARSET);
                $url = $this->plxMotor->plxRecord_arts->f('url');
                # On effectue l'affichage
                if($this->plxMotor->mode == 'home') {
                if($nb < 1)
                    echo '<a href="./?article'.$num.'/'.$url.'#form" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
                else
                    echo '<a href="./?article'.$num.'/'.$url.'#comments" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
                    }
                else
                if($this->plxMotor->mode == 'categorie') {
                if($nb < 1)
                    echo '<a href="./?article'.$num.'/'.$url.'#form" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
                else
                    echo '<a href="./?article'.$num.'/'.$url.'#comments" title="'.$nb.' com pour '.$title.'">'.$txt.'</a>';
                    }
            }
        }
    
    Je répète, ceci n'est pas une super méthode, pas très adapté à Pluxml 5.1.2 (mais fonctionnel quand même)...
    Je prend toute corrections ou améliorations...
  • StéphaneStéphane Member, Former PluXml Project Manager
    Je la trouve tres bien ta modif et je n'aurais pas fait mieux.
    Je vais l'inclure dans la prochaine version et faire en sorte qu'elle soit valable quelque soit la langue.
    Merci pour le code

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.