[suggestion] format d'affichage pour artCat

danielsandanielsan Membres
hello,

j'utilise un format d'affichage pour la méthode artCat qui affiche la liste des catégories l'article sous forme de lien
[== PHP ==]
	/**
	 * 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($format='<a class="#cat_status" href="#cat_url" title="#cat_name">#cat_name</a>', $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
					$cat_name = plxUtils::strCheck($this->plxMotor->aCats[ $catId ]['name']);
					$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>';

					$name = str_replace('#cat_url',$this->plxMotor->urlRewrite('?categorie'.intval($catId).'/'.$url),$format);
					$name = str_replace('#cat_item',$url,$name);
					$name = str_replace('#cat_name',plxUtils::strCheck($cat_name),$name);
					$name = str_replace('#cat_status',$active, $name);
					$cats[] = $name;
				} else { # La categorie n'existe pas
					$cats[] =  L_UNCLASSIFIED;
				}
			} else { # Categorie "home"
					$name = str_replace('#cat_url',$this->plxMotor->urlRewrite(),$format);
					$name = str_replace('#cat_item',$url,$name);
					$name = str_replace('#cat_name',L_HOMEPAGE,$name);
					$name = str_replace('#cat_status',"active", $name);
					$cats[] = $name;
				// $cats[] = '<a class="active" href="'.$this->plxMotor->urlRewrite().'" title="'.L_HOMEPAGE.'">'.L_HOMEPAGE.'</a>';
			}
		}
		echo implode($separator, $cats);
	}

dans la boucle du template, je l'utilise comme ceci :
[== PHP ==]
<h3><?php $plxShow->lang('CLASSIFIED_IN') ?></h3>
<ul class="menu expanded">
	<?php $plxShow->artCat('<li><a class="button #cat_status" href="#cat_url" title="Voir tous les articles #cat_name">#cat_name</a></li>','') ?>
</ul>

qu'en pensez-vous ?
Connectez-vous ou Inscrivez-vous pour répondre.