Comment créer une landing page en 3 étapes avec Prestashop

Voici un petit tutoriel pour vous montrer comment créer une landing page avec Prestashop.

Avant d’aller plus loin pensez à vous inscrire à la BlackBox et développer vos ventes.

Inscrivez-vous à la blackbox

Le code se base sur une version 1.6 de Prestashop mais le principe est le même depuis la version 1.5

Etape 1: Création du controller

On commence par créer le fichier « override/controllers/front/MapageController.php » et on y ajoute le code suivant:

[php] <?php

class MapageController extends FrontController {

public function initContent()
{
parent::initContent();
$this->setTemplate(_PS_THEME_DIR_.’mapage.tpl’);
}
}

?>
[/php]

Etape 2 : Création du fichier de template

On crée ensuite le template associé « themes/nomdevotretheme/mapage.tpl »

[html] Je mets ici le contenu de ma page
[/html]

Etape 3: Rafraîchir le cache

Il faut ensuite supprimer le fichier « cache/class_index.php » pour que l’override soit pris en compte.

Il ne vous reste plus qu’à aller sur l’url suivante:

[html] http://www.urldevotresite.com/index.php?controller=mapage
[/html]

Pour voir apparaître le texte que vous avez rentré dans votre fichier « mapage.tpl »

Subscribe
Recevoir un email pour
guest

18 Commentaires
Inline Feedbacks
View all comments
Hine
Hine

Bonjour,

Merci pour cette explication.
Petite question cependant, comment fait-on pour associer une css spécifique pour la page ?

Dans le fichier MapageController.php j’ai ajouté :
public function setMedia()
{
parent::setMedia();

if ($this->assignCase == 1)

$this->addCSS(_THEME_CSS_DIR_.’macss.css’);
}

Or elle n’est pas prise en compte. Si je mets les éléments de macss.css dans global.css, là cela fonctionne.

merci.

Hine
Hine

heu, autant pour moi, petite erreur dans le code c’est :
public function setMedia()
{
parent::setMedia();

$this->addCSS(_THEME_CSS_DIR_.’macss.css’);
}
Et la cela fonctionne!

Bertrand
Bertrand

Bonjour,

Génial, merci pour cette astuce, c’est super simple comme méthode. Et moi qui me prenait la tête à faire un module à chaque fois :-).

Et à mon avis on peut compléter un peu la chose en utilisant des urls rewrite personnalisées, histoire d’avoir quelque chose de plus sympa que : « http://www.urldevotresite.com/index.php?controller=mapage »

Pour info dans les modules j’utilise la méthode hookModuleRoutes.
Vous trouverez plus d’infos ici : http://blog.dev-net.fr/utiliser-des-urls-rewrite-personnalisees-dans-vos-modules/

Seb
Seb

Hello,

Pourquoi ne pas utiliser une page de cms ?

Seb
Seb

Oui biensur, je me suis laisse abuser par le ‘statique’ ;)
Merci pour ces précisions.

Walter
Walter

Bonjour,

Comment utiliser l’url de la page dans le CMS?

merci

gaillard
gaillard

Bonjour,
j’ai quelques problèmes avec mon prestashop 1.6.1.0, le .htaccess peut être, et google avec ces pages introuvables.
Alors je regarde dans mon back office pour essayer de comprendre.
Par exemple dans paramètres avancés / informations, j’ai :
Vérifiez votre configuration
Paramètres requis Veuillez consulter la/les erreur(s) suivante(s)
Certains fichiers PrestaShop sont absents de votre serveur.
(/override/controllers/front/index.php)
Paramètres optionnels ok
Que pensez-vous que ça veut dire, et que dois-je faire ?
Merci

Brigitte
Brigitte
Reply to  gaillard

Bonjour,
Avez vous trouvé une solution car moi j’ai le même problème après l’ ugrade de la version 1.6.1.6.
Je ne sais plus voire mon site car j’ai le message « Couldnt execute query2 » dans mon navigateur.
De même lorsque je suis sur la fiche article et que je veux visualiser le produit, comme s’il était dans la boutique – même message « Couldnt execute query2 »

merci d’avance pour la réponse

Julie
Julie

Bonjour,

Merci pour ce tuto, c’est top!

Une petite question : comment supprimer les colonnes de gauche et de droite sur cette page?

J’aurai bien mis un code de ce genre dans mon footer.tpl et header.tpl (selon la colonne ciblée) :
{if mapage}

{else}

{$HOOK_RIGHT_COLUMN}

{/if}

Mais comment identifier ma page dans le {if}?

Merci

Steph
Steph

Bonjour,

Merci pour ce tuto :)
Cette méthode fonctionne à merveille pour moi et je suis ravi d’être tombé dessus, cependant, j’ai un problème avec le breadcrumb. Le nom de la page ne s’affiche pas dans celui-ci (la page a été déclarée au niveau de préférences>SEO/URLs) mais rien ne remonte.
Je pense avoir zapé une étape.
Une petite idée ?

Serge
Serge

Bonjour Olivier
Cela marche-t-il pour prestashop 1.7 ? Si non as-tu une solution