Jump to content

GetLayout() dans un module ?


Recommended Posts

Bonjour à tous.

J'ai un module pour lequel je souhaite changer la vue. La page s'affiche en une colonne et moi je veux deux colonnes ( gauche et centrale ).

J'ai bien compris que lorsque l'information n'était pas renseigné dans le module, la mise en page par défaut est layouts/layout-full-width.tpl

Bref, j'ai ajouté ces lignes sur le Controller front du module en question et cela fonctionne correctement.

    public function getLayout()
    {
        return 'layouts/layout-left-column.tpl';
    }

 

Cependant, j'aimerais ne pas le mettre en dur, car j'aimerais que le choix de présentation soit possible dans le back office : Apparence > Thème et logo > Choisir la mise en page.

 

Je vois que certaines pages de modules sur mon site sont présents sur cette page (Choisir la mise en page), mais j'avoue ne pas trop comprendre comment. Pouvez vous m'aider SVP ?

Share this post


Link to post
Share on other sites

Bonjour,

Dans le source de votre module, dans la fonction __construct(), vous pouvez dire à PrestaShop que votre module ajoute des contrôleurs sur le front-office.

Les contrôleurs seront automatiquement ajoutés dans la partie "Choisir la mise en page" et dans la partie "SEO et URL".
 

class Mymodule extends Module
{
    public function __construct()
    {
        // ...
        $this->controllers = ['mycontroller1', 'mycontroller2', 'othercontroller'];
        parent::__construct();
		// ...	
	}
}

 

Share this post


Link to post
Share on other sites

Bonjour,

Merci pour ta réponse, j'ai bien appliqué la modification mais le Controller n'apparait pas sur la page "Choisir la mise en page". Est-ce que je dois faire autre chose ?

J'ai vidé le cache, mais ce n'est pas mieux.

Edited by SymeR (see edit history)

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
 Share

×
×
  • Create New...

Important Information

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