Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#26 2011-03-08 11:52:52

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Re : Plugin MoreTpl : problème ajout de nouveaux tpl

euh pardon
j'ai oublié

$core->tpl->addValue('CountCategories',array('FavorisMobileTpl','CountCategories'));

qui me renvoie une erreur

Fatal error: Call to private method dcBlog::getCategoriesCounter() from context 'FavorisMobileTpl' in /homez.29/bizetfam/www/fichiers_communs/themes/favorismobile/_public.php on line 16

la ligne 16 étant

$f = $core->blog->getCategoriesCounter();

Hors ligne

#27 2011-03-08 14:45:16

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Plugin MoreTpl : problème ajout de nouveaux tpl

Oui, on ne peut pas appeler la fonction comme ça. Je n'ai trouvé qu'une solution : recopier un bout de inc/core/class.dc.blog.php et l'adapter, ça donne ce code qui fonctionne chez moi

public static function CountCategories()
	{
		$core = &$GLOBALS['core'];
		$strReq =
		'SELECT  C.cat_id, COUNT(P.post_id) AS nb_post '.
		'FROM '.$core->blog->prefix.'category AS C '.
		'JOIN '.$core->blog->prefix."post P ON (C.cat_id = P.cat_id AND P.blog_id = '".$core->blog->con->escape($core->blog->id)."' ) ".
		"WHERE C.blog_id = '".$core->blog->con->escape($core->blog->id)."' ";
		
		$strReq .= 'AND P.post_status = 1 ';
		$strReq .= "AND post_type = 'post' ";		
		$strReq .= 'GROUP BY C.cat_id ';
		
		$rs = $core->blog->con->select($strReq);
		$counters = array();
		while ($rs->fetch()) {
			$counters[$rs->cat_id] = $rs->nb_post;
		}
		return count($counters);
	}

Hors ligne

#28 2011-03-08 15:49:27

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Plugin MoreTpl : problème ajout de nouveaux tpl

PS : tout ceci étant dit, j'avais oublié de te signaler l'astuce de Pep pour compter le nombre de billets. L'avantage de sa solution est que l'on peut filtrer la liste de billets, par exemple pour le nombre de billets avec le tag "Google Maps" sur la page citée plus haut :

{{tpl:EntriesCount tag="Google Maps"}}

C'est beaucoup plus élaboré, hein...

Hors ligne

#29 2011-03-09 21:48:12

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Re : Plugin MoreTpl : problème ajout de nouveaux tpl

j'ai oublié de te remercier Amalgame. Alors MERCI pour ta patience et tes conseils :)
j'ai pas encore testé la partie nombre de catégories mais je reposterais ici si j'ai un soucis

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map