Jump to content
mdiblasio

Implémenter différents type de gabarit

Recommended Posts

Bonjour,

 

Je teste actuellement prestashop et je bute sur un point précis dans l'intégration d'un design, j'aurais donc souhaité obtenir des informations quant à la faisabilité de mon besoin dans prestashop.

 

Le problème auquel je fais fasse est le suivant, j'ai pour mon site 3 type de pages nécessitant des design très différent:

- La page d'accueil devrait contenir une image sur toute la largeur et deux produits mis en avant en dessous

- Les pages CMS devraient avoir une colonne gauche avec la liste des autres pages enfants de la même catégorie

- Le catalogue, ses listes de produits et ses produits devraient contenir une colonne gauche avec la liste des catégories du catalogue

 

Le header et le footer restant identique. De plus, évidemment, la page contact devra se débarrasser de la colonne de gauche. Il se pourrait également que certaines pages ait besoin d'une colonne droite.

 

 

J'avoue être un peu perdu avec le système de thème et template de prestashop, je ne vois pas comment réaliser ce genre de demande à moins de créer un hook "body" après le header, et avant le footer, et d'assigner mes colonnes et contenu à ce hook en fonction des besoins. Une telle solution semble vraiment trop contraignante pour un besoin si simple, et celà m'obligerait à réassigner "manuellement" (via mon module) tous les modules greffé dans le backend de prestashop aux différents hook graphique existants.

 

Y a-t-il une possibilité plus simple de créer des types de template global (1 colonne, 2 colonnes, 3 colonnes, CMS, Catalogue, whatever) ? Quelle serait la bonne méthode à utiliser pour ce genre de besoin d'après vous ?

 

En vous remerciant d'avance pour l'aide et les informations apportées,

 

Un nouveau développeur dans le monde de prestashop

Share this post


Link to post
Share on other sites

Petit up, personne n'aurait une idée, une piste, une situation semblable déjà rencontrée ? Rien ?

 

Edit:

La solution la plus propre que j'ai trouvée consiste à afficher les différents éléments de ma page en fonction de la variable $page_name de smarty dans les fichiers de templates. C'est pas forcément l'idéal, mais les autres alternatives ne me plaisent pas.

Share this post


Link to post
Share on other sites

Bonjour,

 

J'ai la même problématique que toi. J'ai besoin dans la homePage d'afficher une seule colonne centrale qui prendrait toutes la largeur de la div#page. et sur le reste retrouver mes colonnes.

Il y à bien la possibilité de faire via les exceptions dans la position des modules mais je trouve pas sa "Dev Compliance" !

Quelques liens que m'ont passé les ps_users de l'irc epiknet :

http://www.prestashop.com/forums/index.php?/topic/129378-afficher-masquer-en-dehors-de-la-page-daccueil/page__view__findpost__p__650814

Share this post


Link to post
Share on other sites

Oui, la page dont tu m'as fournit le lien explique l'utilisation de $page_name afin de tester le type de page et c'est la solution qui m'a permis de réaliser le design de la façon dont je le souhaitais, bien que le fichier header.tpl se voit pour la peine très chargé, mais puisque smarty se charge de la compilation, ce n'est finalement pas très lourd au rendu et la solution me convient.

 

Bon courage à toi dans ta recherche, l'utilisation des exceptions de positions était pour moi insuffisante au vu des différences structurels de mes pages, de plus cela ne supprimait pas réellement les colonnes (par exemple) mais ca les rendait vide, le html des container étant toujours présent.

Share this post


Link to post
Share on other sites

Bonjour, avez vous solutionné vos problème de header, soit 1 colonne en page d’accueil, et le reste du site en 2 ou trois colonnes.

Cordialement.

Share this post


Link to post
Share on other sites

Bonjour Elpassoa,

 

Oui, la solution à ce problème, comme citée dans le topic, a été de tester la variable $page_name dans smarty afin de n'afficher les colonnes que sur les pages autres souhaitées (à savoir différent de "index" pour toutes les pages autre que l'accueil)

 

Bonne journée et bonne chance !

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More