Jump to content

Choix de la mise en page - Pour certaines pages d'un module


Recommended Posts

Bonjour,

J'ai modifié mon template pour afficher la partie "account" sur deux colonnes (une petite à gauche). J'ai modifié la disposition des pages de PrestaShop pour choisir la bonne mise en page "Two Colums, small left column - Two columns with a small left column" dans Apparence -> Thème & Logo -> Choisir la mise en page".

Malheureusement certains modules que j'ai (de paiement notamment) ajoute des pages sur la partie "account" mais ne se trouve pas dans le choix de la mise en page.

Comment puis-je faire pour ajouter ce choix ? Sachant que le module en question propose de choisir la mise en page pour d'autres pages mais pas celle-ci.

1960240878_02-12-202111-58-59.thumb.png.a8db49e5148e9d10daa5dce38fc845fa.png

Une idée ? Une piste ?

 

Merci à vous !

 

PS : le développeur ne me répond pas (module gratuit), d'où la demande 😉 
PS2 : j'ai parcouru une bonne partie de la doc technique de PrestaShop mais je n'ai rien trouvé qui s'apparentait à ça.

Link to comment
Share on other sites

OK, pour t'aider mais faudrait il déjà comprendre ta demande !
Est-ce que ta question c'est de savoir comment faire figurer des pages que tu as crée dans l'option : CHOISIR LA MISE EN PAGE (ta fenêtre en image) ?

Les pages de PRESTASHOP se configure avec CMS --> choix de la mise en page.
A priori, il n'y a pas de distinction.

J'imagine que la création de custom-page dans Prestashop est la solution.
Si tu fait une recherche custom-page dans Prestashop, tu auras plein de pistes et même des modules. J'ai testé...

PS: Si tu as a parcouru la doc, tu verras qu'il faut passer par un module. Tu peux même le faire si tu ne veux pas de module gratuit 🙂
 


 

Edited by Bertrand-Kaer (see edit history)
Link to comment
Share on other sites

Merci pour la réponse mais ce n'est pas tout à fait ça. Je me réexplique :

 

Un module que j'utilise (Ingenico ePayments pour ne pas le citer 😉) ajoute une page "Moyens de paiement" dans le compte client. Malheureusement cette page ne se trouve pas dans "Choix de la mise en page" alors que d'autres pages de ce module apparaissent bien elles (mais pas celle qu'il me faut ...).

Par conséquent, je ne peux pas afficher correctement ma page.

mise-en-page-1.thumb.png.1c605d4eb3279d06e5003af145a00b72.png

 

Sur la page ci-dessus, il manque "module-ingenico_epayments-aliases" que l'on peut voir dans le FTP ci-dessous :

mise-en-page-2.png.15c228885fa4659300c3a10b3cd797de.png

Ce qui me donne en front ceci :

mise-en-page-3.thumb.png.6dccb526d7ec1a1068da7569c98031a9.png

 

A la place d'un affichage en deux colonnes comme c'est le cas des autres pages (comme avoirs, adresses, ...) grâce à "Choix de la mise en page" :

mise-en-page-4.thumb.png.cec2ea053e3f263baf3fa1243fdbae22.png

 

J'espère avoir été plus clair et merci de votre aide !

 

PS : Ce n'est pas le seul module/la seule page qui me pose problème

Edited by Nitneuq5 (see edit history)
Link to comment
Share on other sites

12 hours ago, Nitneuq5 said:

J'espère avoir été plus clair et merci de votre aide !

Oui, c'est beaucoup plus clair 🙂
Je suppose que tu as lu cet doc ? https://devdocs.prestashop.com/1.7/themes/reference/templates/templates-layouts/

Sinon, PLAN B Tu localises la page voulue et tu commentes /* les parties que tu veux zapper en oubliant pas d'adapter
le boostrap des parties restantes. C'est à dire la class.wrapper en class="col-md-12 col-sm-12".
Attention penses a dupliquer dans ton thème, le module que tu veux surcharger - sinon évidemment lors d'un update
tes modifs disparaitront.

Es tu sûr que le dossier que tu montres est le bon ?
Si de mon coté, je regarde un module (au hazard ps_checkpayment) je vois que ce qui s'affiche dans THÈME & LOGO
se trouve dans le dossier ps_checkpayment/controllers/front
Dans le dossier /controllers/front > je retrouve les 2 fichiers en php avec les noms identiques.

----

Dans cet article des explications sur comment faire une page custom (il ne passe pas par un module mais
directement dans le dossier override. C'est peut-être moins "propre" ?) https://www.eewee.fr/prestashop-creer-une-page-custom/
Il suffit de regarder le principe et ensuite c'est plus simple pour comprendre la structure d'un module quel qu'il soit. 
Dans ton cas, je pense que çà t'aidera à localiser les pages que tu veux modifier.

Edited by Bertrand-Kaer (see edit history)
Link to comment
Share on other sites

Merci pour la réponse et les pistes !

J'ai bien lu la doc mais, sauf erreur de ma part, elle n'explique pas comment faire apparaitre la page dans le choix "Choix de la mise en page"

Pour le plan B, j'ai effectivement la possibilité d'override le .tpl dans mon thème MAIS je dois toucher à beaucoup de choses puisque le template utilise {extends file='customer/page.tpl'} qui lui utilise {extends file='page.tpl'} qui lui utilise {extends file=$layout} qui lui ... enfin beaucoup de trucs pour arriver au résultat voulu ! Cependant si c'est la seule solution, je le ferai !

Concernant le dossier /controllers/front mon fichier aliases.php s'y trouve bien. Je l'ai comparé à d'autres fichiers mais je ne vois pas la différence qui provoquerait cette absence d'affichage dans "Choix de la mise en page".

 

Je suis donc encore bloqué ... mais les pistes m'aident !

Link to comment
Share on other sites

La doc explique le principe. A partir de là, tout est faisable. 

Dans ton module tu as le dossier /controller et tu doit aussi avoir le dossier  /views/templates/front ? 
Là dedans tu as des .tpl avec du html.

Pour le fait d'apparaitre ou pas je dirais qu'il faut aller dans le controller/front/
et pour agir sur les vues, le html ou le style c'est dans views/templates/front/

Mais sans doc, ou copie écran sous les yeux c'est des suppositions. 
Regardes comme je le fait des modules existants... comment ils sont fait.

Sinon

Question bête. Si tu réinitialises CHOISIR LA MISE EN PAGE ?
Tu vas perdre ta config (je sais) mais tu verras si c'est un bug qui vient de là....
D'ailleurs ça me donne une idée.
 

Tu connais le fichier de theme : theme.yml ?
https://devdocs.prestashop.com/1.7/themes/getting-started/theme-yml/
Dans cette partie tu es capable de renseigner à la main, les pages avec leur layouts. 
C'est exactement ce que tu veux ! 

Exemple

theme_settings:
  default_layout: layout-full-width
  layouts:
    category: layout-left-column
    contact: layout-left-column

Par contre le .yml - il faut bien respecter les casses sinon ça bug.

Edited by Bertrand-Kaer (see edit history)
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...