Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[CGBlog] [resolu] afficher le nom de la catégorie dans le sommaire
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.4
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour à tous,

J'ai une question probablement assez simple pour un initié Smile

J'ai un site qui tourne avec le module CGBlog, tout fonctionne bien.
J'ai un menu qui est la liste des catégories, e et qui me permet d'afficher le sommaire des articles d'une catégorie en page centrale.

Je cherche à placer le nom de la catégorie en titre de la page, mais je ne sais pas quelle balise appeller pour obtenir cette info ?

Je suppose que la variable est quelque part, puisqu'on appelle cette catégorie, mais je n'ai pas trouvé où !

Merci d'avance aux eclairés de CGBlog Smile

Cdlt,
#2

{$entry|print_r} pour avoir toutes les variables dispo Wink

cgblog gérant X catégories pour un article c'est un array que tu auras :

Code :
[== Indéfini ==]
{if $entry->categories}

{foreach from=$entry->categories item='category'}
   {$category.name}
{/foreach}

{/if}
#3

quelle réponse éclair !
merci.

ça me fait voir que je n'étais pas allé au bout de ma question :
en effet un article peut avoir plusieurs catégories.

donc si je fais ce que tu cites, j'ai comme résultat "cat1 cat2 cat3..." pour chaque article (dans le cas où il y a plus qu'une catégorie).

Ma recherche porte donc sur le fait de pouvoir afficher la catégorie appellée via le menu (donc une seule, celle sur laquelle on a cliqué), même si les articles en-dessous sont multicatégories.
est-ce que je suis clair ? Smile

donc je ne peux pas travailler sur $entry, qui peut me renvoyer plusieurs valeurs de catégories.

une autre idée ?

merci,
#4

avec un {$categories|print_r} , j'ai bien l'ensemble des infos sur les catégories, mais toujours pas celle qui est la catégorie courante (appellée par le menu).

pourtant l'info est forcément là Big Grin
#5

... regarde dans la variable $params[] par hasard

{$params|print_r}
#6

hello,

merci pour la proposition.
un {$params|print_r} me renvoie juste le chiffre "1", quelque soit la catégorie appellée... c'est normal ?

cdlt,
#7

essaie avec {$params|@var_dump}
#8

attention, roulement de tambour.................

le résultat de {$params|@var_dump} est "NULL" ! Big Grin

donc pas mieux Smile
#9

donc les paramètres ne sont pas fournit là dedans... question : est-ce présent dans l'url ? sous quelle forme ?

&categorie=toto ?
#10

en effet, c'est présent dans l'url :
cmsmadesimple/index.php?mact=CGBlog,cntnt01,default,0&cntnt01category_id=2&cntnt01returnid=65

j'ai donc bien la catégorie qui est appellée via ce paramètre, mais je ne retrouve pas l'info une fois sur la page.

pourtant, cette fonctionnalité basique doit bien être utilisée sur une multitude de blog, non ?

j'ai tenté des balises type {$category_id}, mais cela ne renvoie aucune valeur.
#11

bonjour,

je me permets une petite relance ! Smile
#12

Salut tommyb,

Alors si tu veux récupérer le category_id tu dois procéder comme avec la variable PHP $_GET, qui permet de passer des paramètres dans l'URL sous ce fonctionnement : index.php?parametre_1=valeur_1&parametre_2=valeur_2&parametre_3=valeur_3.

Heureusement pour toi, Smarty permet de récupérer les paramètres de type $_GET.

Voici la variable a utiliser:

{$smarty.get.PARAMETRE}

et donc dans ton cas...

{$smarty.get.cntnt01category_id}

Par contre, cela te retourne uniquement le numéro de ta catégorie.

J'installerais demain le module CGBlog pour te donner une solution plus proche de ta demande et je te détaillerais la manière et la procédure à utiliser.

Voila voila,

j’espère avoir pu t’aider Wink

Bonne soirée Wink
#13

merci !!!

{$smarty.get.cntnt01category_id} me renvoie bien l'ID de la catégorie pour chaque catégorie Big Grin

j'avoue que je ne l'aurais jamais trouvé tout seul.

maintenant, reste à faire la bonne moulinette pour que ça affiche le nom.

merci encore !
#14

si cela solutionne ton pb, n'hésites pas à ajouter [résolu] dans le titre de ton premier message Wink
#15

merci à toi,

je me suis beaucoup rapproché de la solution, mais il me manque un petit quelque chose, j'afficherai résolu après Smile
#16

Et voici enfin la solution :

je mets la valeur dans une variable :
Code :
[== Indéfini ==]
{assign var='cat_id' value=$smarty.get.cntnt01category_id}
ID : {$cat_id}<br>

je balaie les catégories, et quand ça match, j'affiche le nom :
Code :
[== Indéfini ==]
{foreach from=$categories item=entry}
{if $entry.id==$cat_id}
RUBRIQUE {$entry.name} <br>
{/if}
{/foreach}

j'avais commencé par faire un appel direct, mais cela me renvoyait des résultats bizarres, alors j'ai laissé tomber.
(du style {$caterogies[$cat_id].name}
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)