Jump to content

Homefeatured : afficher le nom de la catégorie par défaut


Recommended Posts

Bonjour,

 

Je me tourne en désespoir de cause vers vous après avoir cherché pendant plusieurs heures une solution, et après avoir parcouru des dizaines de pages sur ce forum :(

 

Dans le module homefeatured (produits phares), j'essaie pour chaque produit d'afficher le nom de sa catégorie par défaut, et un lien qui pointe vers la catégorie. Par exemple, pour le produit "iPod", j'aimerais afficher en dessous du nom du produit le nom sa catégorie par défaut, qui est "iPods"

 

J'ai réussi à afficher le lien de cette manière :

{$link->getCategoryLink($product.id_category_default)}

 

Par contre je n'arrive pas à afficher le nom de la catégorie par défaut. J'ai essayé de le récupérer en utilisant $product.id_category_default, sans succès.

 

Merci d'avance à toute personne qui prendra le temps d'étudier mon problème :)

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Bonjour,

Je déterre ce topic, car je suis dans la même situation.

Seulement je cherche à afficher, non pas la catégorie par défaut, mais la catégorie mère.

 

Si vous avez une astuce pour moi ce serait vraiment super.

A+

Rom

 

 

Salut , 

La situation est différente dans ton cas. 

Plus haut on aborde des variables déja présentes dans smarty.

Ce que tu veux faire est en ceci différent que tu souhaites appeler la catégorie parente et que celle ci n'existe pas dans les variables transmises au template.

Je suppose que par parente tu entends catégorie de premier niveau d'ans l'arbre des categs ?

Dans ce cas tu devras modifier le code du module lui même , ou le dupliquer pour en créé un nouveau modifié 'nouveau nom de classe module, nouvelles tables etc) .

Si tu modifies directement le module , comme il ne s'agit pas juste d'une surcouche de tpl , alors toute modif sera perdue en cas de maj ... mais bon , 

La il te faudra une requete sql dont tu affecteras le résultat à un index supplémentaire du tableau product genre $product['parentcategory'] = ...

 

Je ne donne pas d'exemple de requete parce que je ne sais pas si ta catégorie mère en question est celle de premier niveau , ou le premier parent de la catégorie par défaut , ce qui change forcément la donne.

  • Like 1
Link to comment
Share on other sites

Hello,

Merci d'avoir pris le temps de me répondre.

Effectivement je souhaite afficher la catégorie "racine", de premier niveau.

Par exemple :

Chaussures > Sport > Football > Adidas

 

Je souhaite afficher sur mes produits en page d'accueil "Chaussures > Adidas".

J'ai réussi à afficher "Adidas" en utilisant ce code :

<p><a href="{$base_dir}category.php?id_category={$product.id_category_default}">{$product.category_default}</a></p>

Je ne suis pas contre mettre les mains dedans et modifier mon module, cependant mon niveau en développement est bien trop faible pour savoir comment procéder.
 

Merci d'avance pour ton aide :) et bonne journée.

 

Romain

Link to comment
Share on other sites

  • 4 months later...

Salut tout le monde! 

Un petit UP sur ce sujet, car je tente de faire quelque chose de proche:

 

Sur chaque page "Catégorie" apparait la liste des sous catégories, et le titre en <  h 3 > est "Sous-catégories".

 

J'aimerais remplacer ce titre par le nom de la catégorie.

Pour cela, il faut remplacer le code < h 3 >{l s='subcategories'}< / 3 > du fichier category.tpl, mais par quoi ???

J'ai essayé plusieurs choses mais cela ne fonctionne pas, mon niveau de développeuse est proche du néant !

 

Si une bonne âme peut me donner ce petit coup de pouce... :-)

Link to comment
Share on other sites

Salut tout le monde! 

Un petit UP sur ce sujet, car je tente de faire quelque chose de proche:

 

Sur chaque page "Catégorie" apparait la liste des sous catégories, et le titre en <  h 3 > est "Sous-catégories".

 

J'aimerais remplacer ce titre par le nom de la catégorie.

Pour cela, il faut remplacer le code < h 3 >{l s='subcategories'}< / 3 > du fichier category.tpl, mais par quoi ???

J'ai essayé plusieurs choses mais cela ne fonctionne pas, mon niveau de développeuse est proche du néant !

 

Si une bonne âme peut me donner ce petit coup de pouce... :-)

 

C'est assez étrange comme question parce que je n'arrive pas à comprendre ce que tu cherches à faire.

En fait tu as déja , en principe , le nom de la catégorie courante dans un h1 (à priori) , sous une forme du type : 

{$category->name|escape:'htmlall':'UTF-8'}

Ensuite dans le tpl il y a une boucle qui affiche les sous catégories, et effectivement un titre au dessus qui dit en gros "Sous catégories".

 

Qui dit boucle en smarty dit foreach , mais toi tu cites le titre , alors j'avoue me demander ce que tu cherches réellement à obtenir.

 

Admettons que l'on soit dans la catégorie "Cat 1"

Admettons que dans cette catégorie nous ayons 3 sous-categories "Cat 2,Cat 3,Cat 4"

 

Que veux tu réellement avoir à l'écran ? 

 

Pour info cette notation : 

{l s='subcategories'}

est simplement une traduction.

la fonction l est utilisée par prestashop pour traduire les chaines "fixes".

l s='tata' va créer une chaine traduisible que tu pourras trouver dans les traductions front office. Par défaut , et à moins de la traduire, cette chaine sera et restera "tata" ...

 

Ici donc subcategories est une chaine traduisible et non une variable contenant un nom de catégorie ou de sous-catégorie.

 

Tu me suis ? 

:) 

  • Like 1
Link to comment
Share on other sites

Magnifique, je te remercie infiniment Broceliande tu as exactement répondu à ma question :-)

 

C'est assez étrange comme question parce que je n'arrive pas à comprendre ce que tu cherches à faire.

En fait tu as déja , en principe , le nom de la catégorie courante dans un h1 (à priori) , sous une forme du type : 

{$category->name|escape:'htmlall':'UTF-8'}

(...)

Tu me suis ? 

:)

 

En fait, je n'avais pas cette ligne de code dans le fichier "category.tpl" de mon template. Je voulais donc remplacer l'inesthétique et inutile "SOUS-CATÉGORIES" dans sa balise H3 par le titre de la catégorie dans une balise H1 (absente de cette page de mon template). 

 

Je viens du coup de vérifier le fichier category.tpl du thème par défaut, il inclut en effet le code suivant :

		<h1>
			{strip}
				{$category->name|escape:'htmlall':'UTF-8'}
				{if isset($categoryNameComplement)}
					{$categoryNameComplement|escape:'htmlall':'UTF-8'}
				{/if}
			{/strip}
		</h1>

Je te remercie encore Broceliande, la prochaine fois j'irai d'abord consulter le fichier du thème par défaut avant de solliciter les bonnes volontés ;-)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...