Jump to content

creer une page accueil.php avant la page index.php


Recommended Posts

Bonjour,

 

je souhaiterai avoir une page cms avant l'index.php sur prestashop 1.5.2, j'ai vu quelques topics la dessus mais sur d'ancienne versions de prestashop et cela ne fonctionne pas sur la dernière version de prestashop...

 

quelqu'un aurai t il une piste???

 

merci d'avance

Edited by misterpink (see edit history)
Link to comment
Share on other sites

Merci de votre reponse, en faite je souhaiterai que avant que l'on arrive sur la homepage il y est d'abord une page cms qui s'affiche car je veux creer une page avec un slider avant la homepage, j'ai essayé en créant une page index.html, ca marche mais sa plante l'ajax du panier sur tout mon site, donc du coup je me suis dit que le mieux serai de créer une page cms qui s’appellerait par exemple accueil...

 

j’espère que vous comprenez ce que je veux faire...

Link to comment
Share on other sites

Heu la je doit dire que je comprends pas ce que vous voulez dire, je suis intégrateur et pas développeur, mais je me soigne ;-) je connait un peu la gestion des hook mais je ne comprends ce que vous voulez dire par "réorganiser les hook"...

 

merci en tout cas de vous penchez sur mon problème...

Link to comment
Share on other sites

J'imagine toujours le développement Prestashop sans passer par la méthode "sale" : intervenir dans le code source mais préférer passer par la surcharge (override) qui est plus adaptée au CMS.

 

à Priori, ce que vous souhaitez faire, si vous voulez que ce soit pérenne (évoluable avec les mises à jours et non bloquant) c'est développer un module, qui vienne s'intégrer dans la page d'accueil. Cette page d'accueil deviendra ainsi ce fameux CMS qu'elle souhaite afficher.

 

Il faudra ensuite que ce module recrée une seconde page qui reprendra la page d'accueil actuelle.

 

C'est ce que j'entendais par "réorganiser les hooks"

 

Disons que c'est la solution la plus propre que je vois. Il y en a probablement d'autres !

Edited by tarte-au-sucre (see edit history)
Link to comment
Share on other sites

sinon j'ai creer un fichier accueil.php avec dedans

<?php
require(dirname(__FILE__).'/config/config.inc.php');
Tools::displayFileAsDeprecated();
Tools::redirect('index.php?controller=accueil'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');

 

et ensuite j'ai creer un fichier AccueilController.php dans controllers/front/ avec dedans:

 

class AccueilControllerCore extends FrontController
{
public $php_self = 'accueil';
public function initContent()
 {
  parent::initContent();
  $this->context->smarty->assign('content_only', 0);
  $this->setTemplate(_PS_THEME_DIR_.'accueil.tpl');
 }
public function setMedia()
{
 parent::setMedia();
 if ($this->assignCase == 1)
  $this->addJS(_THEME_JS_DIR_.'accueil.js');
 $this->addCSS(_THEME_CSS_DIR_.'accueil.css');
}
/**
 * Assign template vars related to page content
 * @see FrontController::initContent()
 */

}

 

et ensuite un fichier accueil.tpl

 

ca fonctionne, si je met mon nom de domaine/accueil.php ca m'ouvre bien mon accueil.tpl

 

mais mon soucis maintenant c'est que accueil.php soit appeller avant index.php....

 

pour la création d'un module ça me semble au dessus de mes capacités...

Link to comment
Share on other sites

Merci Jolvil, je l'ai essayé ce module mais il fonctionne pas sur 1.5.2 et je n'ai pas le temps ni peut être pas les capacités techniques pour l'adapter, mais bon ma solution fonctionne donc je reste comme ça, j'ai juste un soucis avec ma réécriture d'url et les cookies, j'ai créé un topic spécifique pour ça...

 

http://www.prestashop.com/forums/topic/210805-reecriture-durl-sur-une-page-accueilphp-que-jai-creee/

Link to comment
Share on other sites

  • 4 months later...

Bonjour à tous,

 

J'ai utilisé la methode proposée par misterpink, puis j'ai modifié dans .htacces en ajoutant DirectoryIndex accueil.php index.php

Ca marche sauf que dans ma page accueil.tpl il y a un lien qui va vers index.php?controller=index ça me revient sur la page accueil.php toujours.

Merci pour vos réponses.

Link to comment
Share on other sites

Re

J'ai réussi à faire ma page accueil, j'explique pour ceux qui ont en besoin:

* j'ai créer une page index.html puis je l'ai mis à la racine de mon site. Ce fichier passe avant index.php

* je suis allé dans le fichier header.tpl du theme, j'ai modifié la ligne 47 (prestashop 1.5)

 

var baseDir = '{$content_dir}';

 

par

 

var baseDir = '{$content_dir}index.php';

 

Et ca marche

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour à tous,

Je suis entrain de créer mon site internet comme vous avec mes dix doigts ;) ...

Je me demandais si avec la méthode de MISTERPINK il était possible de créer une animation en flash avant l'ouverture du site donnant sur la page d'accueil.

C'est que je tente de réaliser en vain. J'ai réussi à créer la page index.html avec un lien à l'intérieur sur ma page d'accueil index.php.

Maintenant ce qui me pose problème c'est ou placer ce fichier pour qu'il soit appelé par Prestashop... Pouvez-vous m'aider et prendre le tps de m'expliquer pas à pas les étapes à suivre?

En effet, mettre le dossier à la racine du site 0_o????? je ne comprends pas :/

 

merci d'avance

Link to comment
Share on other sites

Re

que signifie Pyssou: "Ce fichier passe avant index.php"

Comment dois-je m'y prendre pour que ce soit le cas.

J'ai mis mon fichier index.html comme vous à la racine de mon site et j'ai changé dans le header.tpl la ligne 47

mais malheureusement pour moi cela ne fonctionne pas. Ma page homepage se charge comme d'habitude sans afficher ma page index.html en premier.

Un petit coup de main svp ;)

Link to comment
Share on other sites

bonjour a tous, voila j'aimerais creer une page avant l'index. une page qui prend tout l'ecran et qui affiche du texte avec un carrousel d'image. j'aimerais egalement un lien qui redirige vers la boutique un peu le principe du site rueducommerce. je ne suis pas developpeur ni codeur. pourriez vous m'éclairez s'il vous plais car j'ai suivi le tuto pour la creation de page mais celle ci se retrouve centrer sur mon site comme une nouvelle page mais se n'est pas le résultat que je souhaites. merci d'avance

Link to comment
Share on other sites

Re bonjour,

je vais finalement pouvoir donner une fin (je l'espère) aux recherches de tous ceux qui souhaitent mettre une page d'intro (flash, vidéo, texte, )avant cette fameuse page index.php de prestashop

 

1: créez une page html avec votre éditeur personnel et nommez-la: blabla.html

2: (facultatif) à l'intérieur de cette page crée un lien sur lequel les visiteur de votre site pourront cliquer afin de quitter cette page pour entrer dans la véritable page d'accueil de votre site:

 

<p id="boutton">

<a class="login" href="http://localhost/prestashop/index.php">ENTREZ</a>

</p>

 

Ce bout de code est à placer dans le fichier blabla.html que vous êtes sur le point de créer

Comme vous pouvez le constater, le bouton en cliquant dessus vous redirige vers votre index.php qui se situe à la racine de votre site.

 

Attention, pour ma situation, je travaille en local, c'est pourquoi j'ai localhost dans l'adresse de redirection. A vous de faire les modifs

 

3. placer le fichier blabla.html dans le dossier prestashop (à la racine)

4. Placer ce bout de code dans le fichier htaccess que vous trouverez dans votre dossier prestashop

 

DirectoryIndex blabla.html index.php

 

laissez place à votre imagination pour éditer votre page d'intro :D

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Bonjour je cherche à faire une page avant la page index.php sur un site de vente en ligne presta. J'ai essayé tout ce que j'ai pu trouver sur ce topic mais rien ne fonctionne une catastrophe :(

Comme je suis un poil novice je demande du secours !

J'ai une version récente de prestashop (si ça peut aider)

Link to comment
Share on other sites

  • 5 weeks later...

Bonjour,

voila j'ai un petit souci actuellement avec ma page flash avant l'accueil index.php.

J'ai maintenant hébergé mon site et je souhaite utiliser l'option rewriting pour avoir un meilleur référencement sur google mais en faisant ça la redirection de mon flash vers la véritable page d'accueil de mon site prestashop ne se fait pas. Au contraire, j'obtiens réactualisation répétée de mon flash qui est censé pointer sur:

http://www.mondomaine.fr/index.php

 

Avez-vous une idée sur ce que je dois modifier afin d'avoir ma page index.php après mon flash?

 

Merci d'avance

Link to comment
Share on other sites

  • 2 months later...

Hello,

 

Je cherche à faire une prehome à partir de laquelle on pourrait se rendre sur les versions "locales" (langue et devise) du pays de son choix.

 

Est-ce cette méthode du htaccess est compatible avec la réécriture d'url ? Parce que j'aimerai éviter d'avoir une url avec "index.php" dedans...

Link to comment
Share on other sites

  • 3 months later...

Re bonjour,

je vais finalement pouvoir donner une fin (je l'espère) aux recherches de tous ceux qui souhaitent mettre une page d'intro (flash, vidéo, texte, )avant cette fameuse page index.php de prestashop

 

1: créez une page html avec votre éditeur personnel et nommez-la: blabla.html

2: (facultatif) à l'intérieur de cette page crée un lien sur lequel les visiteur de votre site pourront cliquer afin de quitter cette page pour entrer dans la véritable page d'accueil de votre site:

 

<p id="boutton">

<a class="login" href="http://localhost/prestashop/index.php">ENTREZ</a>

</p>

 

Ce bout de code est à placer dans le fichier blabla.html que vous êtes sur le point de créer

Comme vous pouvez le constater, le bouton en cliquant dessus vous redirige vers votre index.php qui se situe à la racine de votre site.

 

Attention, pour ma situation, je travaille en local, c'est pourquoi j'ai localhost dans l'adresse de redirection. A vous de faire les modifs

 

3. placer le fichier blabla.html dans le dossier prestashop (à la racine)

4. Placer ce bout de code dans le fichier htaccess que vous trouverez dans votre dossier prestashop

 

DirectoryIndex blabla.html index.php

 

laissez place à votre imagination pour éditer votre page d'intro :D

 

Merci, ça marche impec !

NON=> ca ne marche pas finalement : il y a un message d'erreur ajax lorsqu'on veut ajouter un produit dans le panier :(

 

Au début, j'avais fait la méthode de Pyssou qui ne changeait pas le .htaccess et modifiait le header.tpl :

cela semblait fonctionner, mais mon homeslider ne marchait plus... j'imagine qu'il y a d'autres endroits où cela aurait posé des problèmes...

 

Avec cette méthode du .htaccess, tout a l'air OK sur toutes mes pages.

 

Merci :)

 

PS: j'ai pas encore trouvé de solution

 

Si, c'est bon, je la colle ici :

 

Ecrire le message du dessus m'a obligé à formaliser un peu plus mon besoin, et je me suis rendu compte qu'il ne me manquait pas grand chose pour aboutir :lol:

 

Ainsi, la solution était simple :

 

j'ai créé ma prépage, qu'on appelera prepage.php par exemple, qui contient ceci :

<?php

setcookie("prepage");

?>

 

<div align=center><a href='index.php'><img src='prepage.jpg'></a></div>

à enregistrer à la racine du site, évidemment.

 

Pour les novices comme moi, ce code signifie :

- créer un cookie, appelé prepage, qui s'effacera tout seul lorsque le visiteur fermera le navigateur

- afficher l'image de prepage.jpg (préparée à l'avance)

- si on clique sur l'image, alors le site normal (index.php) s'affiche

 

 

Ensuite, dans le index.php qui existe déjà sur tout site Prestashop, modifier le Dispatcher::getInstance()->dispatch(); en

if (!(isset($_COOKIE["prepage"])))

{

print ("<script language = \"JavaScript\">");

print ("location.href = 'prepage.php';");

print ("</script>");

}

else

{

 

    Dispatcher::getInstance()->dispatch();

}

Ce qui signifie :

- regarde le coookie prepage

- s'il n'existe pas, alors affiche la prepage

- sinon (=cela veut dire que la prepage a déjà été affichée, vu que c'est elle qui créé le cookie), alors afficher le site normal

 

C'était pourtant simple :D

 

 

Merci à toi Kaby, je me débattais avec des histoires de .htaccess ou autre contentDirectory pour rien du tout et tu m'as mis sur la piste !

Pfff... si je connaissais le php, j'y aurais pensé avant...

Edited by aggelon (see edit history)
Link to comment
Share on other sites

 

 

Re bonjour,

je vais finalement pouvoir donner une fin (je l'espère) aux recherches de tous ceux qui souhaitent mettre une page d'intro (flash, vidéo, texte, )avant cette fameuse page index.php de prestashop

 

1: créez une page html avec votre éditeur personnel et nommez-la: blabla.html

2: (facultatif) à l'intérieur de cette page crée un lien sur lequel les visiteur de votre site pourront cliquer afin de quitter cette page pour entrer dans la véritable page d'accueil de votre site:

 

<p id="boutton">

<a class="login" href="http://localhost/pre...php">ENTREZ</a>

</p>

 

Ce bout de code est à placer dans le fichier blabla.html que vous êtes sur le point de créer

Comme vous pouvez le constater, le bouton en cliquant dessus vous redirige vers votre index.php qui se situe à la racine de votre site.

 

Attention, pour ma situation, je travaille en local, c'est pourquoi j'ai localhost dans l'adresse de redirection. A vous de faire les modifs

 

3. placer le fichier blabla.html dans le dossier prestashop (à la racine)

4. Placer ce bout de code dans le fichier htaccess que vous trouverez dans votre dossier prestashop

 

DirectoryIndex blabla.html index.php

 

laissez place à votre imagination pour éditer votre page d'intro  :D

 

Il faut également décocher "Rediriger automatiquement vers l'URL canonique".

Link to comment
Share on other sites

Bonsoir à tous,

 

Afin de pouvoir prendre le dessus sur l'index (et je préciserais: sur le dispatcher qui affiche votre homepage), il vous faut réaliser un  module qui viendra se greffer sur le hook "actionDispatcher". Cela nécessite après quelques compétences et code pour pouvoir notamment voir sur quelle page on se trouve et pour amorcer une page alternative (et avoir un cookie éventuel, au besoin).

Link to comment
Share on other sites

  • 3 months later...

Ecrire le message du dessus m'a obligé à formaliser un peu plus mon besoin, et je me suis rendu compte qu'il ne me manquait pas grand chose pour aboutir :lol:

 

Ainsi, la solution était simple :

 

j'ai créé ma prépage, qu'on appelera prepage.php par exemple, qui contient ceci :

<?php
setcookie("prepage");
?>

<div align=center><a href='index.php'><img src='prepage.jpg'></a></div>

à enregistrer à la racine du site, évidemment.

 

Pour les novices comme moi, ce code signifie :

- créer un cookie, appelé prepage, qui s'effacera tout seul lorsque le visiteur fermera le navigateur

- afficher l'image de prepage.jpg (préparée à l'avance)

- si on clique sur l'image, alors le site normal (index.php) s'affiche

 

 

Ensuite, dans le index.php qui existe déjà sur tout site Prestashop, modifier le Dispatcher::getInstance()->dispatch(); en

if (!(isset($_COOKIE["prepage"])))
{
print ("<script language = \"JavaScript\">");
print ("location.href = 'prepage.php';");
print ("</script>");
}
else
{

    Dispatcher::getInstance()->dispatch();
}

Ce qui signifie :

- regarde le coookie prepage

- s'il n'existe pas, alors affiche la prepage

- sinon (=cela veut dire que la prepage a déjà été affichée, vu que c'est elle qui créé le cookie), alors afficher le site normal

 

C'était pourtant simple :D

 

 

Merci à toi Kaby, je me débattais avec des histoires de .htaccess ou autre contentDirectory pour rien du tout et tu m'as mis sur la piste !

Pfff... si je connaissais le php, j'y aurais pensé avant...

Edited by aggelon (see edit history)
Link to comment
Share on other sites

  • 6 months later...

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