Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

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.

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

class MapageController extends FrontController {

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

?>

Etape 2 : Création du fichier de template

On crée ensuite le template associé “themes/nomdevotretheme/mapage.tpl”


Je mets ici le contenu de ma page

Etape 3: Rafraîchir le cache

Il faut ensuite supprimer le fichier “cache/class_index.php” pour que l’override soit pris en compte. (Je vous invite à lire cet article si vous ne trouvez pas ce fichier)

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


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

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

Poster un Commentaire

14 Commentaires sur "Comment créer une landing page en 3 étapes avec Prestashop"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Hine
Invité
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
Invité
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
Invité

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
Invité
Seb

Hello,

Pourquoi ne pas utiliser une page de cms ?

Seb
Invité
Seb

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

Walter
Invité
Walter

Bonjour,

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

merci

gaillard
Invité
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
Invité
Brigitte

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
Invité
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

wpDiscuz