graphee Posted September 20, 2010 Share Posted September 20, 2010 Bonjour a tous,je souhaiterais faire passer une page CMS en page principale du site (accueil) (http://www.monsite.com/boutique/) et mettre ma page d'accueil en arrière plan accessible via un lien type cms (ex : http://www.monsite.com/boutique/content/7-accueil-boutique)je vais tenter pour la première fois de faire passer la boutique en second plan et d'utiliser l'outil CMS pour faire un site en premier plan.merci de votre aide Link to comment Share on other sites More sharing options...
Yannkee Posted September 20, 2010 Share Posted September 20, 2010 Bonjour,As-tu essaye avec DirectoryIndex ? Link to comment Share on other sites More sharing options...
graphee Posted September 20, 2010 Author Share Posted September 20, 2010 je ne suis pas en dédié mais en mutualisé je pense pas avoir accés a DirectoryIndex.je suis en train de tenter quelques manipulation, j'ai déja réussi a afficher l'accueil à la place d'une page CMS ce qui me permettra d'y accéder via une url cms fixe.Me reste plus qu'a afficher la page cms en accueil, le plus proprement possible pour les updates futures.je pensais autrement a le faire avec le htaccess et l'url rewriting... a voir. Link to comment Share on other sites More sharing options...
graphee Posted September 20, 2010 Author Share Posted September 20, 2010 autant pour moi directoryIndex c'est dans le HTACCESS et ca marche nikel, voila la procédure si vous souhaitez mettre une page CMS en page d'accueil et si vous voulez mettre l'accueil de prestashop en page CMS :1 - Créer ses pages CMS avec une page "home" et une page "home_boutique" (on va dire que l'ID de home est 1 et l'ID de home_boutique est 2).Remplacer TOUT LE CONTENU de index.php par celui de CMS.PHPrajoutez ceci apres l'ouverture de la balise PHP $_GET['id_cms'] = 1; il s'agira donc de votre nouvelle page d'accueil.ensuite ouvrir CMS.PHPchanger ceci $smarty->assign(array( 'cms' => $cms, 'content_only' => intval(Tools::getValue('content_only')) )); par cela $smarty->assign(array( 'cms' => $cms, 'content_only' => intval(Tools::getValue('content_only')), 'HOOK_HOME' => Module::hookExec('home') )); OUVRIR CMS.TPL (dans votre theme)Changez ceci {$cms->content} Par cela : {$cms->content} {if $cms->id == 2}{$HOOK_HOME}{/if} et voila vous n'avez plus qu'a utiliser un module de menu qui permet de mettre ses pages CMS dedans et vous pourrez vous faire un site CMS avec boutique intégré.[RESOLU] Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted September 23, 2010 Share Posted September 23, 2010 Bonjour et merci pour cette astuce qui m'a mis sur la voie pour régler mon problème.Je vous livre à mon tour ma solution qui me semble plus simple à mettre en place et moins "agressive" même si pas encore totalement sans défaut.Il suffit de modifier le fichier index.php en ajoutant une condition ce qui donne ceci: <?php if(isset( $_GET['showboutique']) && $_GET['showboutique']==1) { include(dirname(__FILE__).'/config/config.inc.php'); if(intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1) $rewrited_url = __PS_BASE_URI__; include(dirname(__FILE__).'/header.php'); $smarty->assign('HOOK_HOME', Module::hookExec('home')); $smarty->display(_PS_THEME_DIR_.'index.tpl'); include(dirname(__FILE__).'/footer.php'); } else { $_GET['id_cms'] = 17; include('cms.php'); } ?> ici on considère que l'article que vous désirez voir en page d'accueil du site à l'ID 17 (j'ai prit ce chiffre au hasard à vous de choisir le bon en allant dans outil/cms)Il suffit ensuite de créé un lien dans un block de menu en ajoutant le paramètre showboutique et en lui donnant la valeur 1. Comme ceci: http://www.monsite.com/index.php?showboutique=1 Voila en espérant que ça aidera quelqu'un. 1 Link to comment Share on other sites More sharing options...
sirozz Posted December 3, 2010 Share Posted December 3, 2010 Super comme astuce, merci !J'ajoute juste un petit truc, il faudra peut-être ajouter dans le fichier cms.php: $smarty->assign('page_name', 'cms'); juste avant include(dirname(__FILE__).'/header.php'); car sinon le body ne prendra pas la classe 'cms' mais 'index' et cela risque de poser des problèmes pour faire un thème particulier pour les pages CMS. 1 Link to comment Share on other sites More sharing options...
L'Agence Nature Posted April 11, 2012 Share Posted April 11, 2012 Merci pour ce code, cela m'aide à utiliser du javascript pour des effets dans ma page d'accueil. Merci! Link to comment Share on other sites More sharing options...
psTarik Posted June 20, 2012 Share Posted June 20, 2012 Bonjour merci beaucoup pour ces astuces, juste un soucis, je n'ai pas le meme contenu dans cms.php ! (à la racine) Je n'ai pas le code suivant $smarty->assign(array( 'cms' => $cms, 'content_only' => intval(Tools::getValue('content_only')) )); juste (après les 25 lignes de commentaires) require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('CMSController')->run(); J'édite le mauvais fichier ? Je vais pas coller ce code betement dans cms.php alors qu'il n'y était pas, si ? Link to comment Share on other sites More sharing options...
psTarik Posted June 21, 2012 Share Posted June 21, 2012 Du coup j'ai utilisé la méthode de maniT4c, ça marchait nickel, je voulais faire une ré-écriture d'url pour qu'elles soient belles... en vain. Du coup j'ai enlevé le code et là problème ! Le site cherche toujours la page cms, et en plus il ne la trouve pas, alors que j'ai bien enlevé le code avec entre autre $_GET['id_cms']= .... La page je ne l'ai pas supprimé et bien sur elle n'a pas changé dID Quelqu'un a une piste ? Je comprends pas que le comportement reste alors que j'ai supprimé le code ! Y a quand même du cache pour ça .... (je l'ai vidé quand meme par paranoia) Link to comment Share on other sites More sharing options...
freelance-web Posted December 6, 2015 Share Posted December 6, 2015 Bonjour et merci pour cette astuce qui m'a mis sur la voie pour régler mon problème. Je vous livre à mon tour ma solution qui me semble plus simple à mettre en place et moins "agressive" même si pas encore totalement sans défaut. Il suffit de modifier le fichier index.php en ajoutant une condition ce qui donne ceci: <?phpif(isset( $_GET['showboutique']) && $_GET['showboutique']==1) { include(dirname(__FILE__).'/config/config.inc.php'); if(intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1) $rewrited_url = __PS_BASE_URI__; include(dirname(__FILE__).'/header.php'); $smarty->assign('HOOK_HOME', Module::hookExec('home')); $smarty->display(_PS_THEME_DIR_.'index.tpl'); include(dirname(__FILE__).'/footer.php');}else { $_GET['id_cms'] = 17; include('cms.php');}?> ici on considère que l'article que vous désirez voir en page d'accueil du site à l'ID 17 (j'ai prit ce chiffre au hasard à vous de choisir le bon en allant dans outil/cms) Il suffit ensuite de créé un lien dans un block de menu en ajoutant le paramètre showboutique et en lui donnant la valeur 1. Comme ceci: http://www.monsite.com/index.php?showboutique=1 Voila en espérant que ça aidera quelqu'un. Je viens de tester le script mais sur prestashop1.6.1.3 et cela ne fonctionne pas, j'ai une page blanche? Link to comment Share on other sites More sharing options...
Mediacom87 Posted December 6, 2015 Share Posted December 6, 2015 Je viens de tester le script mais sur prestashop1.6.1.3 et cela ne fonctionne pas, j'ai une page blanche? Bonjour, ce n'est pas étonnant ce script date de plus de 5 ans ce qui fait au moins 20 ou 30 versions de PrestaShop. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now