2017-06-12 1 views
0

Je souhaite créer une nouvelle page sur mon prestashop. Je ne veux pas utiliser le CMS pour créer la page, j'ai besoin essentiellement d'une page totalement nouvelle.Comment créer une nouvelle page sur le thème enfant Prestashop 1.7

J'ai essayé de dupliquer les .tpl actuels et de les renommer - mais je ne peux jamais y accéder - quelle est l'URL pour accéder au nouveau modèle?

E.g. say my site is www.xyz.com the "my account" template, sits under template/customer/my-account.tpl this my account page is normally accessed at xyz.com/my-account 

Je veux une nouvelle mais page similaire - donc dupliquer ce modèle, renomme à mon compte neuf et changer quelque chose, pourquoi pouvez-vous pas accéder au nouveau modèle en modifier l'URL pour mettre fin à my-account-new - Je viens d'obtenir un 404.

Qu'est-ce qui me manque? Merci :)

Répondre

0

vous pouvez ajouter un nouveau contrôleur avant dans un module personnalisé: ModuleName/contrôleurs/avant/ControllerName.php

Ensuite, votre nouveau contrôleur est une classe qui doit être défini comme:

Module::getInstanceByName('<ModuleName>'); 

class <ModuleName><ControllerName>ModuleFrontController extends ModuleFrontController 

vous ajoutez ensuite la méthode

public function initContent(){ 
    parent::initContent(); 
    $this->setTemplate('<templateFolder>/<templateName>'); 
} 

vous pouvez maintenant accéder à la templ mangé en allant index.php? fc = Module & module = ModuleName & controller = ControllerName

Ainsi, dans cet exemple, remplacer tous les ModuleName avec le nom de votre module personnalisé et ControllerName avec le nom de votre contrôleur (par exemple MyCustomModule et MyCustomController).

Le modèle sera dans le dossier de votre thème par exemple, vous pouvez ajouter customAddress dans les thèmes/ThemeName/templates/client/customAddress.tpl

auquel cas l'appel à setTemplate deviendrait:

$this->setTemplate('customer/customAddress'); 

J'espère que cela aide.