Jump to content

Ajouter une page statique page.php sur prestashop 1.4.8


Recommended Posts

Bonjour,

 

Je voudrais ajouter une page statique "manuellement" sur prestashop 1.4.8.

 

Mon but est de créer une page d'accueil ++ qui remplacerait index.php.

 

Cette page afficherait une image en plein écran, donc ne reprendrait aucun élément de la boutique, 100 % différente.

 

J'ai lu ici que c'était possible avec les version antérieures : http://emilienmalbra...ans-prestashop/

 

Mais qu'avec les nouvelles versions de prestashop ça n'était plus possible.

 

Le CMS, c'est pratique, mais ça a l'air limité niveau mise en page.

 

Pouvez vous m'aider s'il vous plait ?

 

Merci :)

Edited by papillouma (see edit history)
  • Like 1
Link to comment
Share on other sites

Pour ajouter une page statique, voici la procédure en gros :

 

- Ajouter fichier .php à la racine

- Ajouter le contrôleur (front)

- Ajouter la classe si besoin

- Ajouter le tpl dans le dossier du thème

+ CSS/JS si besoin.

 

Pour finir, gérer la réécriture via le BO, onglet SEO & URL.

Link to comment
Share on other sites

Enfin !

Une bonne âme a pu me répondre : merci @Dev On Web :)

 

Par contre, je n'ai pas tout saisi ?

 

- Ajouter le fichier .php à la racine : donc je créée page.php, que j'ajoute à la racine du dossier prestashop (on est bien d'accord ?)

 

- Ajouter le contrôleur (front) : Qu'est ce que tu entends par "contrôleur" et par "front" ?

 

- Ajouter la classe si besoin : tu parles d'ajouter une classe css ? à quoi ?

 

- Ajouter le tpl dans le dossier du theme : Donc j'ajoutes la page page.tpl dans le dossier du thème ça C'est ok

 

+ CSS/JS si besoin --> CSS ok, c'est sûr j'en aurai besoin, mais pour JS je ne pense pas, j'aurai juste du texte et des images à insérer.

 

Peux tu éclairer ma lanterne ? stp ? merci :)

Link to comment
Share on other sites

Enfin !

Une bonne âme a pu me répondre : merci @Dev On Web :)

 

Par contre, je n'ai pas tout saisi ?

 

- Ajouter le fichier .php à la racine : donc je créée page.php, que j'ajoute à la racine du dossier prestashop (on est bien d'accord ?)

 

- Ajouter le contrôleur (front) : Qu'est ce que tu entends par "contrôleur" et par "front" ?

 

- Ajouter la classe si besoin : tu parles d'ajouter une classe css ? à quoi ?

 

- Ajouter le tpl dans le dossier du theme : Donc j'ajoutes la page page.tpl dans le dossier du thème ça C'est ok

 

+ CSS/JS si besoin --> CSS ok, c'est sûr j'en aurai besoin, mais pour JS je ne pense pas, j'aurai juste du texte et des images à insérer.

 

Peux tu éclairer ma lanterne ? stp ? merci :)

 

Oui, à la racine.

Contrôleur, dans le dossier controller puis dossier front (oui, il faut savoir développer un peu)

Classe PHP et non CSS ici.

 

Le mieux est de prendre exemple sur des pages d'origines avec leurs controllers, classes, tpl, etc.

Link to comment
Share on other sites

  • 3 months later...

Voici la solution les amis : :P

 

N.1

 

La page controllers.php dans le fichier controllers a la racine de prestashop 1.4 et plus :

 

Nom de la page: NondelapageController.php

 

------------------------------------------------------------------------------------------------------------------------------------------

<?php

 

class NondelapageControllerCore extends FrontController

{

public $php_self = 'Nondelapage.php';

public $ssl = true;

 

public function preProcess()

{

parent::preProcess();

 

}

 

public function setMedia()

{

parent::setMedia();

Tools::addCSS(_THEME_CSS_DIR_.'Lapagecss.css');

}

 

public function displayContent()

{

$_POST = array_merge($_POST, $_GET);

parent::displayContent();

self::$smarty->display(_PS_THEME_DIR_.'Nondelapage.tpl');

}

}

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.2

 

La page Nondelapage.php a la racine de prestashop 1.4 et plus :

 

Nom de la page: Nondelapage.php

 

------------------------------------------------------------------------------------------------------------------------------------------

<?php

 

 

require(dirname(__FILE__).'/config/config.inc.php');

ControllerFactory::getController('NondelapageController')->run();

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.3

 

La page Nondelapage.tpl dans votre theme de prestashop 1.4 et plus :

 

Nom de la page: Nondelapage.tpl

 

------------------------------------------------------------------------------------------------------------------------------------------

 

{capture name=path}{l s='Nondelapage'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

<h1>Tres jolie la page</h1>

<h2>Super la page php merci a philippe</h2>

<div class="bloc_catalogue">

<div class="titre">Boutique</div>

<div class="texte"><p>Votre texte ici !<p/>

<br /><br /><span class="sous_titre">Sous titre ici</span>

</div>

</div>

</div>

<html/>

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.4

 

Dans la BO rendez-nous sur Panneau d'administration > Préférences > SEO & URLs

:

Nouveau

 

Sélectionner votre nouvelle page ! :rolleyes:

 

 

---------------------------------------------------FIN------------------------------------------------------

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Bonjour,

 

je suis sous la version 1.5.3.

 

Et j'ai un soucis au niveau du SEO, sans SEO ma page est trouvé. mais avec le SEO activé Prestashop m'affiche une page blanche avec la phrase :

 

 

[Debug] This page has moved

Please use the following URL instead: http://www.mondomaine.fr/mapage

 

et l'url de la barre d'addresse reste http://www.mondomaine.fr/index.php?controller=mapage.'>http://www.mondomaine.fr/index.php?controller=mapage.

 

j'ai beau taper l'url réécrite, Prestashop me bloque sur la page http://www.mondomaine.fr/index.php?controller=mapage

Link to comment
Share on other sites

  • 4 weeks later...

Merci pgredin66, c'est parfait !

j'ai pu faire ma page mais avec une petite correction

 

AVANT

class NondelapageControllerCore extends FrontController

{

public $php_self = 'Nondelapage.php';

public $ssl = true;

 

APRES

class NondelapageControllerCore extends FrontController

{

public $php_self = 'Nondelapage';

public $ssl = true;

Link to comment
Share on other sites

  • 5 months later...

Bonjour,

 

J'ai mis cette super solution en place sous PS 1.4.9.0

 

je croyais avoir enfin trouvé la solution...))

Bin pas encore

 

Le footer ne s'affiche plus, donc colonne droite non plu.

 

Pas seulement avec la page que je viens de créer, mais sur tout le site .

 

Si une bonne âme à une idée ...

Link to comment
Share on other sites

  • 1 year later...

Voici la solution les amis : :P

 

N.1

 

La page controllers.php dans le fichier controllers a la racine de prestashop 1.4 et plus :

 

Nom de la page: NondelapageController.php

 

------------------------------------------------------------------------------------------------------------------------------------------

<?php

 

class NondelapageControllerCore extends FrontController

{

public $php_self = 'Nondelapage.php';

public $ssl = true;

 

public function preProcess()

{

parent::preProcess();

 

}

 

public function setMedia()

{

parent::setMedia();

Tools::addCSS(_THEME_CSS_DIR_.'Lapagecss.css');

}

 

public function displayContent()

{

$_POST = array_merge($_POST, $_GET);

parent::displayContent();

self::$smarty->display(_PS_THEME_DIR_.'Nondelapage.tpl');

}

}

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.2

 

La page Nondelapage.php a la racine de prestashop 1.4 et plus :

 

Nom de la page: Nondelapage.php

 

------------------------------------------------------------------------------------------------------------------------------------------

<?php

 

 

require(dirname(__FILE__).'/config/config.inc.php');

ControllerFactory::getController('NondelapageController')->run();

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.3

 

La page Nondelapage.tpl dans votre theme de prestashop 1.4 et plus :

 

Nom de la page: Nondelapage.tpl

 

------------------------------------------------------------------------------------------------------------------------------------------

 

{capture name=path}{l s='Nondelapage'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

<h1>Tres jolie la page</h1>

<h2>Super la page php merci a philippe</h2>

<div class="bloc_catalogue">

<div class="titre">Boutique</div>

<div class="texte"><p>Votre texte ici !<p/>

<br /><br /><span class="sous_titre">Sous titre ici</span>

</div>

</div>

</div>

<html/>

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

N.4

 

Dans la BO rendez-nous sur Panneau d'administration > Préférences > SEO & URLs

:

Nouveau

 

Sélectionner votre nouvelle page ! :rolleyes:

 

 

---------------------------------------------------FIN------------------------------------------------------

J'ai tous ca mais toujours page blanche dans prestashop version 1.5.6.1

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...