UsrNems Posted March 17, 2015 Share Posted March 17, 2015 (edited) Bonjour, Je rencontre quelques soucis avec Presta. J'ai recherché toute l'après-midi une solution, et j'en ai trouvé un paquet ! Mais pas les bonnes :'( Donc voilà : Premièrement ! J'ai créé un custom.php dans / et mis les permissions à 644 <?php require(dirname(__FILE__).'/config/config.inc.php'); Tools::displayFileAsDeprecated(); Tools::redirect('index.php?controller=custom'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently'); Deuxièmement ! J'ai créé un CustomController dans /controller/front/CustomController.php et réglé les permissions à 644 <?php class CustomControllerCore extends FrontController { public $php_self = 'custom'; public function initContent() { parent::initContent(); $this->setTemplate(_PS_THEME_DIR_.'custom.tpl'); } } ?> Troisèmement ! J'ai évidemment créé un custom.tpl dans /theme/personalTheme/custom.tpl et réglé les permissions à 604 <h1>MY WONDERFUL CUSTOM PAGE</h1> Quatrièmement ! Je suis allé dans : /cache et j'ai supprimé class_index.php Cinquièmement ! Je suis allé dans /cache/smarty et j'ai supprimé tout sauf index.php Sixièmement ! Dans le backOffice, j'ai été dans l'onglet SEO et j'ai ajouté le lien: custom Septièmement ! Dans le backofffice, j'ai été dans performances, et nettoyé le cache (Et d'ailleurs dans cette page j'ai tout réglé sur OFF) Huitièmement ! Nettoyer le cache de mon navigateur Neuvièmement ! Me tuer avec ma sourisEt après toutes ces étapes j'ai toujours cette erreur quand je veux aller sur : mywebsite.com/custom Fatal error: Class 'CustomController' not found in [/size].../web/classes/controller/Controller.php on line [/size]135 Oh et j'allais oublier, j'ai aussi essayé ça : https://www.prestashop.com/forums/topic/250826-adding-a-new-page-controller-issue/?do=findComment&comment=1542578 Toujours ce problème :'( Merci d'avance pour votre aide P.S : J'utilise Prestashop 1.6.0.11 Edited March 23, 2015 by UsrNems (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted March 17, 2015 Share Posted March 17, 2015 Bonsoir, Je relirais le sujet par la suite, mais avez vous essayé de modifier votre CustomControllerCore en CustomController ? Link to comment Share on other sites More sharing options...
Eolia Posted March 17, 2015 Share Posted March 17, 2015 +1 En mettant Core Presta va chercher dans ses classes natives, ce qui n'est pas le cas de la votre^^ Link to comment Share on other sites More sharing options...
UsrNems Posted March 18, 2015 Author Share Posted March 18, 2015 Malheureusement oui, j'ai déjà essayé cette solution, mais aucun changement n'est à noter. Link to comment Share on other sites More sharing options...
J. Danse Posted March 18, 2015 Share Posted March 18, 2015 Vous avez mis le fichier dans /controller/front/ ? Il devrait plutôt se trouver dans /controllers/front/ ; dans un premier temps. Link to comment Share on other sites More sharing options...
UsrNems Posted March 18, 2015 Author Share Posted March 18, 2015 Vous avez mis le fichier dans /controller/front/ ? Il devrait plutôt se trouver dans /controllers/front/ ; dans un premier temps. Excusez moi c'est une erreur d'écriture de ma part, c'est bien controllers/front/ 1 Link to comment Share on other sites More sharing options...
UsrNems Posted March 19, 2015 Author Share Posted March 19, 2015 Bonjour à tous !J'ai essayé encore quelques trucs : Placer mon CustomController dans overrides/front Rentrer manuellement mon Custom controller dans class_index.php (Mais bien évidemment dès que ça recompile... Bye bye) Recommencer toutes les manips citées plus haut et vérifié que je les ai bien éxécutées Des questions dans le vent qui pourraient (avec un coup de chance) être la réponse : L'encodage des pages doit bien être en UTF-8 ? Y-a-t-il un mode d'envoi via ftp qu'il faut préférer ? Le fait d'être sur un mutualisé OVH peut il changer quelque chose ? Merci pour vos réponses Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 Je me permet de remonter le sujet. J'ai essayé de nouvelles choses, j'ai appris que le ?> en bas des fichiers php pouvait causer des problème, je l'ai retiré mais pas de résultats :/ Là je commence réellement à être à court d'idée ? Personne pour me sauver ? Link to comment Share on other sites More sharing options...
J. Danse Posted March 23, 2015 Share Posted March 23, 2015 Est-ce qu'on peut éventuellement vous demander de nous fournir ce fichier, et nous dire exactement son chemin par rapport à votre PrestaShop, par hasard ? Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 Bien sûr Alors on pars du principe que je suis sur la racine et que j'ai quatre fichiers (le .php a la racine, le Controller.php dans controller, le Controller.php dans override et le .tpl dans theme) /custom.php <?php require(dirname(__FILE__).'/config/config.inc.php'); Tools::displayFileAsDeprecated(); Tools::redirect('custom'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently'); /controllers/front/CustomController.php <?php class CustomControllerCore extends FrontController { public $php_self = 'custom'; public function initContent() { parent::initContent(); $this->addCSS(_THEME_CSS_DIR_.'custom.css'); $this->setTemplate(_PS_THEME_DIR_.'custom.tpl'); } } /override/controllers/front/CustomController.php <?php class CustomControllerCore extends FrontController { public $php_self = 'custom'; public function initContent() { parent::initContent(); $this->addCSS(_THEME_CSS_DIR_.'custom.css'); $this->setTemplate(_PS_THEME_DIR_.'custom.tpl'); } } /themes/specialdev/custom.tpl {capture name=path}{l s='Custom'}{/capture} <div class="container"> <div class="row"> ..... Contenu de ma page en html ...... </div> </div> Voilà, c'est tout ce que j'ai. Un petit rappel de ce que j'ai tenté : Changer les permissions Vider la cache via l'admin Vidé le cache via FTP (class_index.php) Supprimé le cache smarty Aller dans SEO et ajouter le lien custom Nettoyer le cache de mon navigateur Ajouter ça : https://www.prestashop.com/forums/topic/250826-adding-a-new-page-controller-issue/?do=findComment&comment=1542578 Ajouter / Supprimer Core dans le nom de ma classe Ajouter / Supprimer le controller dans /overrides Rentrer manuellement mon controller dans class_index.php (fonctionne mais pas durable) Supprimer la fermeture ?> qui apparemment causerait des problèmes parfois Je crois que 'est à peu près tout Si vous avez besoin d'autre chose je peut vous le fournir Et encore merci pour votre aide Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2015 Share Posted March 23, 2015 Evite d'avoir class CustomControllerCore à la fois dans l'override et dans controllers/front/, met soit l'un l'autre (dans l'override c'est mieux) mais sinon, franchement je ne vois pas ce qui peut poser problème, as tu essayé en local ? Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 Evite d'avoir class CustomControllerCore à la fois dans l'override et dans controllers/front/, met soit l'un l'autre (dans l'override c'est mieux) mais sinon, franchement je ne vois pas ce qui peut poser problème, as tu essayé en local ? Quand je laisse seulement dans overrides il me dit : Warning: include_once(.../web/controllers/front//CustomController.php): failed to open stream: No such file or directory in .../web/classes/Dispatcher.php on line 285 Warning: include_once(): Failed opening '.../web/controllers/front//CustomController.php' for inclusion (include_path='.../web/tools/htmlpurifier/standalone:.:/usr/local/php5.4/lib/php') in .../web/classes/Dispatcher.php on line 285 Fatal error: Class 'CustomController' not found in .../web/classes/controller/Controller.php on line 135 C'est normal de double // ? Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2015 Share Posted March 23, 2015 tu a bien supprimé cache/class_index.php ? Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 tu a bien supprimé cache/class_index.php ? Oui Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2015 Share Posted March 23, 2015 je viens de tester (en local) sur 1.6.0.14 avec ma_boutique.com/override/controllers/front/CustomController.php <?php class CustomControllerCore extends FrontController { public $php_self = 'custom'; public function initContent() { parent::initContent(); $this->context->smarty->assign('xxx', 'OK'); $this->setTemplate(_PS_THEME_DIR_.'custom.tpl'); } } ma_boutique.com/custom.php <?php require(dirname(__FILE__).'/config/config.inc.php'); Tools::displayFileAsDeprecated(); Tools::redirect('custom'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently'); et ma_boutique.com/themes/default-bootstrap/custom.tpl {capture name=path}{l s='Custom'}{/capture} <div class="container"> <div class="row"> {$xxx} </div> </div> Je supprime le fichier ma_boutique.com/cache/class_index.php, ensuite je vais sur ma_boutique.com/custom.php, je suis redirigé sur ma_boutique.com/index.php?controller=custom et j'ai un joli OK qui s'affiche dans la page (dans le center_column) Si ça ne fonctionne pas chez toi (en ligne) essaye en local... Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 Je tente C'est que si ça fonctionne en local c'est un soucis avec mon serveur, enfin je pense. Non ? Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 Donc effectivement je n'ai pas d'erreur en local :/ Je dois en conclure que c'est un soucis coté OVH ? Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2015 Share Posted March 23, 2015 oui, mais lequel... sauf si tu as transféré les fichiers dans un mauvais dossier, je ne vois pas trop Link to comment Share on other sites More sharing options...
UsrNems Posted March 23, 2015 Author Share Posted March 23, 2015 (edited) oui, mais lequel... sauf si tu as transféré les fichiers dans un mauvais dossier, je ne vois pas trop Malheureusement j'ai beau regarder maintes et maintes fois, ils sont bien à leur place :/ J'ai recommencé trois fois tous les tests que j'ai pu faire :/ A la limite le seul truc que j'aurais pu louper c'est le Rewriterule dans le htacess, mais je doute qu'il soit en cause ici :/ Fait intéressant : En fait quand je change les permissions de mon fichier (Qui est de base en 604 alors que les autres sont en 644), dès que j'actualise le dossier je me rends compte que le changement n'est pas pris en comtpe Edited March 23, 2015 by UsrNems (see edit history) 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