[Résolu] Enlever virgule separateur pour les catégories

DudyDudy Member
mai 2019 modifié dans Modifications
Bonjour

je me demandais si c’était possible de enlever la virgule de séparation pour les catégories et les mot-clés?

j'ai essayé de mettre un espace blanc ( ) dans le fichier class.plxml.show.php à la ligne 651,
[== PHP ==]
public function artActiveCatIds() {

		$artCatIds = explode(',', $this->plxMotor->plxRecord_arts->f('categorie'));
		$activeCats = explode('|',$this->plxMotor->activeCats);
		return array_intersect($artCatIds,$activeCats);

	}

	/**
	 * Méthode qui affiche la liste des catégories l'article sous forme de lien
	 * ou la chaîne de caractère 'Non classé' si la catégorie
	 * de l'article n'existe pas
	 *
	 * @param	separator	caractère de séparation entre les catégories affichées
	 * @return	stdout
	 * @scope	home,categorie,article,tags,archives
	 * @author	Anthony GUÉRIN, Florent MONTHEL, Stephane F
	 **/
	public function artCat($separator=', ') {

		$cats = array();
		# Initialisation de notre variable interne
		$catIds = $this->artActiveCatIds();
		foreach ($catIds as $idx => $catId) {
			# On verifie que la categorie n'est pas "home"
			if($catId != 'home') {
				# On va verifier que la categorie existe
				if(isset($this->plxMotor->aCats[ $catId ])) {
					# On recupere les infos de la categorie
					$name = plxUtils::strCheck($this->plxMotor->aCats[ $catId ]['name']);
					$url = $this->plxMotor->aCats[ $catId ]['url'];
					if(isset($this->plxMotor->aCats[ $this->plxMotor->cible ]['url']))
						$active = $this->plxMotor->aCats[ $this->plxMotor->cible ]['url']==$url?"active":"noactive";
					else
						$active = "noactive";
					# On effectue l'affichage
					$cats[] = '<a class="'.$active.'" href="'.$this->plxMotor->urlRewrite('?categorie'.intval($catId).'/'.$url).'" title="'.$name.'">'.$name.'</a>';
				} else { # La categorie n'existe pas
					$cats[] =  L_UNCLASSIFIED;
				}
			} else { # Categorie "home"
				$cats[] = '<a class="active" href="'.$this->plxMotor->urlRewrite().'" title="'.L_HOMEPAGE.'">'.L_HOMEPAGE.'</a>';
			}
		}
		echo implode($separator, $cats);
	}

mais il n y a plus la liste des catégories,

est ce que c'est faisable?
merci pour votre aide
Mots clés:

Réponses

  • SudwebdesignSudwebdesign Member
    janvier 2019 modifié
    Je pense qu'il suffit de le faire lors de l'appel a la fonction en lui donnant comme paramètre ' '

    comme ceci :
    [== PHP ==]
    <?php $plxShow->artCat('&nbsp;'); ?>
    
    dans themes/nomDuTeme/article.php par exemple ;)

    ps: [del]code non testé[/del]

    [édit] ps²:Remettre en place la fonction originale semble être une bonne idée :)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • Merci, j'ai déjà essayé cette méthode, mais je voulais faire disparaitre cette virgule de partout, même quand on utilise
    [== PHP ==]
    <?php $plxShow->lastArtList('
                    <div class="tag"> #cat_list</div>
    
    sinon c'est long à chaque fois changer sur toutes le fichiers du thèmes
  • SudwebdesignSudwebdesign Member
    janvier 2019 modifié
    Dudy a écrit:
    Merci, j'ai déjà essayé cette méthode, mais je voulais faire disparaitre cette virgule de partout, même quand on utilise
    [== PHP ==]
    <?php $plxShow->lastArtList('
                    <div class="tag"> #cat_list</div>
    
    sinon c'est long à chaque fois changer sur toutes le fichiers du thèmes

    Alors il suffit (peut-être) de modifier le séparateur qui est ', ' par défaut
    [== PHP ==]
    public function artCat($separator=', ') {
    
    deviens
    [== PHP ==]
    public function artCat($separator=' ') {
    
    ou
    [== PHP ==]
    public function artCat($separator='&nbsp; ') {
    
    a toi de voir...

    Mais laisse un espace (au minimum)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • @Sudwebdesign

    merci c'est parfait. je ne laissais pas d'espace.
Connectez-vous ou Inscrivez-vous pour répondre.