PiiR4T3 Posted March 23, 2015 Share Posted March 23, 2015 (edited) Bonsoir à tous, Voici mon petit soucis. J'ai installé Prestashop en local sur mon Debian et tout fonctionne nickel. Ma version de Prestashop étant en 1.6, j'ai voulu téléchargé un thème lui aussi en 1.6, et l'installer pour changer l'apparence de mon site. J'ai donc tout simplement été dans Préférences > Thèmes puis j'ai cliqué sur "Ajouter un thème". Le problème est lorsque je clique sur "Installer le thème" après l'avoir ajouté. Il me demande ensuite quels sont les modules à installer, ceux à désinstaller, etc... Vu que je ne connais pas assez bien, je laisse la configuration comme telle. Le problème est ensuite que j'obtiens une page blanche que ce soit sur mon site ou dans le back-office et il m'est donc impossible de pouvoir modifier quelque chose car je ne peux plus rien administrer. J'ai donc modifié un de mes fichiers pour afficher l'erreur qui est celle-ci: syntax error, unexpected 'index' (T_STRING) in /var/www/prestashop/override/classes/Tools.php on line 18 Déjà, le fichier Tools.php vient du thème que je veux installer, plus précisément du module "designerpreview", ce n'est donc pas un fichier d'origine. Ensuite, voici les lignes: <?php class Tools extends ToolsCore { public static function redirect($url, $base_uri = __PS_BASE_URI__, Link $link = null, $headers = null) { if (!$link) $link = Context::getContext()->link; if (strpos($url, 'http://') === false && strpos($url, 'https://') === false && $link) { if (strpos($url, $base_uri) === 0) $url = substr($url, strlen($base_uri)); if (strpos($url, 'index.php?controller=') !== false && strpos($url, 'index.php/') == 0) { $url = substr($url, strlen('index.php?controller=')); if (Configuration::get('PS_REWRITING_SETTINGS')) $url = Tools::strReplaceFirst('&', '?', $url); } $explode = explode('?', $url); // don't use ssl if url is home page // used when logout for example $use_ssl = !empty($url); $url = $link->getPageLink($explode[0], $use_ssl); if (isset($explode[1])) // Fix with friendly Urls in PS with Themler (back parameter etc.) $url .= (strpos($url, '?') !== false ? '&' : '?' ).$explode[1]; } // Send additional headers if ($headers) { if (!is_array($headers)) $headers = array($headers); foreach ($headers as $header) header($header); } header('Location: '.$url); exit; } } Ce qui est bizarre, c'est le => 'index.php\' <= Je me suis dis que l'anti-slash n'était pas correct, j'ai donc testé de le retirer mais celà n'a rien changé. Je m'en remets donc à vous pour savoir ce qu'il ne va pas. Peut être aurais-je du faire autre chose, j'ai juste tenté de modifier ce antislash et d'enregistrer mais j'arrivais toujours au même résultat (même après avoir redémarré apache). Je suis donc ouvert à vos solutions. Par contre, j'ai mis le code de tools.php venant directement du .zip de mon thème et non lorsqu'il a été installé après dans mon dossier prestashop. Je ne sais pas si ça change quelque chose. Merci d'avance pour votre aide ! :-) Edited March 23, 2015 by PiiR4T3 (see edit history) Link to comment Share on other sites More sharing options...
EISEAL Posted March 23, 2015 Share Posted March 23, 2015 Salut, Essai purement et simplement de supprimer le fichier Tools.php qui se trouve dans le dossier Override/classes/ (Sauvegarde le avant hein ^^) Link to comment Share on other sites More sharing options...
PiiR4T3 Posted March 25, 2015 Author Share Posted March 25, 2015 (edited) Rebonjour et merci de m'avoir répondu. Alors avant de commencer, je tiens à signaler que lorsque Tools.php est installé dans le dossier "override/classes" il y a une légère différence dans le script car il m'indique que c'est bien le module "designerpreview" qui est concerné. <?php class Tools extends ToolsCore { /* * module: designerpreview * date: 2015-03-25 16:26:53 * version: 1.0 */ La ligne 18 concerne donc dans le script de mon premier post à la ligne ou se trouve le 'index.php/'. En supprimant le fichier "Tools.php" comme anteverce m'a dit, j'ai pu ré-accéder à mon back-office. Néanmoins ma boutique affiche toujours une page blanche. J'ai donc affiché les erreurs et voici ce que cela m'affiche: Fatal error: Uncaught --> Smarty: Unable to load template file '/var/www/prestashop/themes/Untitled/header.tpl' <-- thrown in /var/www/prestashop/tools/smarty/sysplugins/smarty_internal_templatebase.php on line 129 Le fichier "header.tpl" ne s'y trouve effectivement pas. Et voici un bout de script du fichier "smarty_internal_templatebase.php" ou se situe la fameuse ligne 129: // checks if template exists if (!$_template->source->exists) { if ($_template->parent instanceof Smarty_Internal_Template) { $parent_resource = " in '{$_template->parent->template_resource}'"; } else { $parent_resource = ''; } throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}"); } Enfin, j'ai fais une petite recherche de ou pouvait se trouver le fichier "header.tpl" grâce à la commande "find" (je rappelle que je suis sur Linux Debian) et voici les résultats: ./var/www/prestashop/pdf/header.tpl ./var/www/prestashop/admin618sgzi92/themes/default/template/controllers/login/header.tpl ./var/www/prestashop/admin618sgzi92/themes/default/template/header.tpl ./var/www/prestashop/themes/default-bootstrap/header.tpl ./var/www/prestashop/themes/default-bootstrap/modules/homeslider/header.tpl ./var/www/prestashop/modules/homeslider/views/templates/hook/header.tpl ./var/www/prestashop/modules/trackingfront/views/templates/front/header.tpl "default-bootstrap" est le thème de base installé avec Prestashop. Je m'en remets donc encore une fois à votre aide et merci d'avance pour votre soutien EDIT: En fait, j'ai voulu comparé ce qu'il y avait dans le dossier du thème par défaut (default-bootstrap) et celui que je voulais installer. Dans mon dossier prestashop/themes/default-bootstrap, j'ai remarqué qu'il y avait plein de fichiers notamment les fichiers .tpl alors que dans le dossier de mon autre thème intitulé "Untitled", il n'y a aucun fichier à part un dossier docs qui est vide. Je suis alors regardé directement dans le .zip de mon thème et là par contre j'ai vu tout les fichiers qui devrait être dans ce dossier. Ce que je ne comprends pas c'est pourquoi ça ne fonctionne pas lorsque sur back-office j'essaye d'installer mon thème. Peut être un rapport avec le fichier "Tools.php". Néanmoins je comprends mieux ma page blanche maintenant. De plus, le dossier "Untitled" devrait avoir le nom de mon thème c'est à dire "Baby_Shop" mais c'est comme si il m'avait ajouté un thème vide. Que devrais-je faire selon vous ? Car là je vais tenter de glisser tout ces fichiers dans le dossier "/themes/Untitled" mais j'ai peur que des fichiers de mon thème qui doit se trouver dans d'autres dossiers de prestashop ne soit pas mis eux aussi. EDIT 2: Je viens de transférer tout les fichiers du thème se trouvant dans le .zip dans le dossier "Untitled" et il me met aussi la même erreur sauf que cette fois-ci le "header.tpl" s'y trouve bien ainsi que tout les autres fichiers. EDIT 3: Pour que vous comprenez mieux, voici les dossiers et fichiers dans le .zip de mon thème: 1.5.3 => Dossier contenant les mêmes dossiers que le dossier modules 1.5.6 => Dossier contenant les mêmes dossiers que le dossier modules 1.6 => Dossier contenant les mêmes dossiers que le dossier modules modules => Dossier contenant les dossiers "blocktopmenu_mod", "designer" et "designerpreview" themes => Dossier contenant les dossiers et fichiers du thème (ceux que j'ai copié dans le dossier Untitled) Config.xml Readme.txt => Il explique comment installer le thème. Voici ce qu'il dit exactement (c'était en anglais donc je l'ai traduit): http://textup.fr/122514pP P.S: Je rappelle que je suis en local pour l'instant donc je n'utilise pas de ftp. Edited March 25, 2015 by PiiR4T3 (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