tresorsdargan Posted July 22, 2010 Share Posted July 22, 2010 Bonjour à tous et toutes,Etant depuis quelques mois sur Prestashop v1.31 (Mise à jour depuis la 1.25), je rencontre depuis peu un symptôme, comme, la modification d'un fichier .tpl que je tranfert via transfert FTP mais dont aucuns changement visuels en FO...J'ai de suite pensé au cache Smarty à vider par FTP, mais constate que le cache dans tools/smarty/ est bien vide, par contre + de 100 fichiers dans le répertoire /compile/J'ai tenté de vider le contenu du répertoire compile, en ne laissant que le fichier index.php, hélas une page blanche apparait FO en rafraichissant la page.J'ai tenté l'install du module ClearSmarty, mais pareil, aucune erreur de BO, mais dès que le module vide le cache, une page blanche en FO.Mon fichier smarty.config.inc.php est modifié à false sur caching, et false sur force_compile, afin d'optimiser l'affichage des pages en FO, de ce côté la, tout est OK, si je modifie à true un des 2 fichiers, une page blanche apparait en FO.Que se passe t'il ? Comme y remédier ?Merci de vos réponse,Olivier Link to comment Share on other sites More sharing options...
marty69 Posted July 22, 2010 Share Posted July 22, 2010 bonjour,vous devriez probablement forcer la compilation du code smarty dans le fichier config du dossier /configa priori je dirais que cette valeur est actuellement sur "off" ce qui est ok pour un site en prod mais peu amener ces symptomes en dev ! passer la valeur à "on", recharger la page pour que le nouveau tpl soit pris en compte, puis repasser la vaeulr à "off" pour réactiver le cache. Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 22, 2010 Author Share Posted July 22, 2010 Bonjour et merci de la réponse,le fichier en question à passer sur ON le temps de est config.inc.php ? si c celui ci, je ne vois pas la fonction Off hormis le debug....Concernant le fichier smarty.config.inc.php, ce dernier est réglé comme mon premier post, mais si j'apporte une modif quelconque dessus, page blanche en FO, donc rien à recharger....merci de votre aide Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 22, 2010 Author Share Posted July 22, 2010 une petite aide svp, merci Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 24, 2010 Author Share Posted July 24, 2010 malgré de nombreuses tentatives, vidé les caches manuellement, modifié le fichier smarty, toujours le même problème, plus aucuns visuels en FO de mes changement sur fichiers ou autres, le cache smarty est plein et je ne peut rien faire....Merci de votre aide Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 25, 2010 Author Share Posted July 25, 2010 Bonjour,Toujours pas d‘ébauche de solution ? je tourne en rond car toutes manipulations que je fais est dans le vide et non prise en compte, et si je vide manuellement le répertoire compil, ou au travers d'un module, une belle page blanche en FO, et bien entendu aucuns accès quelconque,merci de votre aide Link to comment Share on other sites More sharing options...
jmaumene Posted July 27, 2010 Share Posted July 27, 2010 vous pouvez nous montrer le code des fichiers en questionsmerci Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 27, 2010 Author Share Posted July 27, 2010 Bonjour et merci beaucoup de votre réponsele code de mon fichier smarty.config.inc.php actuel : <?php require_once(_PS_SMARTY_DIR_.'Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = _PS_THEME_DIR_.'tpl'; $smarty->compile_dir = _PS_SMARTY_DIR_.'compile'; $smarty->cache_dir = _PS_SMARTY_DIR_.'cache'; $smarty->config_dir = _PS_SMARTY_DIR_.'configs'; $smarty->caching = false; $smarty->force_compile = false; // to pass "false" when put into production $smarty->compile_check = false; //$smarty->debugging = true; $smarty->debug_tpl = _PS_ALL_THEMES_DIR_ . 'debug.tpl'; function smartyTranslate($params, &$smarty) { /* * Warning : 2 lines have been added to the Smarty class. * "public $currentTemplate = null;" into the class itself * "$this->currentTemplate = substr(basename($resource_name), 0, -4);" into the "display" method */ global $_LANG, $_MODULES, $cookie, $_MODULE; if (!isset($params['js'])) $params['js'] = 0; if (!isset($params['mod'])) $params['mod'] = false; $msg = false; $string = str_replace('\'', '\\\'', $params['s']); $key = $smarty->currentTemplate.'_'.md5($string); if ($params['mod']) { $iso = Language::getIsoById($cookie->id_lang); if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$params['mod'].'/'.$iso.'.php')) { $translationsFile = _PS_THEME_DIR_.'modules/'.$params['mod'].'/'.$iso.'.php'; $modKey = '<{'.$params['mod'].'}'._THEME_NAME_.'>'.$key; } else { $translationsFile = _PS_MODULE_DIR_.$params['mod'].'/'.$iso.'.php'; $modKey = '<{'.$params['mod'].'}prestashop>'.$key; } if (@include_once($translationsFile)) $_MODULES = array_merge($_MODULES, $_MODULE); $msg = (is_array($_MODULES) AND key_exists($modKey, $_MODULES)) ? ($params['js'] ? addslashes($_MODULES[$modKey]) : stripslashes($_MODULES[$modKey])) : false; } if (!$msg) $msg = (is_array($_LANG) AND key_exists($key, $_LANG)) ? ($params['js'] ? addslashes($_LANG[$key]) : stripslashes($_LANG[$key])) : $params['s']; return ($params['js'] ? $msg : Tools::htmlentitiesUTF8($msg)); } $smarty->register_function('l', 'smartyTranslate'); function smartyDieObject($params, &$smarty) { return Tools:($params['var']); } $smarty->register_function('d', 'smartyDieObject'); function smartyShowObject($params, &$smarty) { return Tools:($params['var']); } $smarty->register_function('p', 'smartyShowObject'); function smartyMaxWords($params, &$smarty) { $params['s'] = str_replace('...', ' ...', html_entity_decode($params['s'], ENT_QUOTES, 'UTF-8')); $words = explode(' ', $params['s']); foreach($words AS &$word) if(strlen($word) > $params['n']) $word = substr(trim(chunk_split($word, $params['n']-1, '- ')), 0, -1); return implode(' ', Tools::htmlentitiesUTF8($words)); } $smarty->register_function('m', 'smartyMaxWords'); function smartyTruncate($params, &$smarty) { $text = isset($params['strip']) ? strip_tags($params['text']) : $params['text']; $length = $params['length']; $sep = isset($params['sep']) ? $params['sep'] : '...'; if (Tools::strlen($text) > $length + Tools::strlen($sep)) $text = substr($text, 0, $length).$sep; return (isset($params['encode']) ? Tools::htmlentitiesUTF8($text, ENT_NOQUOTES) : $text); } $smarty->register_function('t', 'smartyTruncate'); function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false, $charset = 'UTF-8') { if ($length == 0) return ''; if (strlen($string) > $length) { $length -= min($length, strlen($etc)); if (!$break_words && !$middle) { $string = preg_replace('/\s+?(\S+)?$/', '', Tools::substr($string, 0, $length+1, $charset)); } if(!$middle) { return Tools::substr($string, 0, $length, $charset) . $etc; } else { return Tools::substr($string, 0, $length/2, $charset) . $etc . Tools::substr($string, -$length/2, $charset); } } else { return $string; } } $smarty->register_modifier('truncate', 'smarty_modifier_truncate'); $smarty->register_modifier('secureReferrer', array('Tools', 'secureReferrer')); global $link; $link = new Link(); $smarty->assign('link', $link); ?> La modification s'étant juste porté sur la modification de true vers false sur la ligne $smarty->force_compile = false;, et ce dans le but d'optimiser presta 1.31 suite à une lenteur constatée lors de la MAJ.Je viens de constater que dans le répertoire tools/smarty/Smarty.class.php, à la ligne 152 est également présent var $force_compile = false;, je n'y ai rien touché, juste visualisé ! Est ce que cela à une influence sur mon soucis ?En tout cas, merci de votre intérêt et votre réponse, Olivier Link to comment Share on other sites More sharing options...
jmaumene Posted July 28, 2010 Share Posted July 28, 2010 vous avez vérifié les droits d'écriture sur les dossier de cache et compile ? Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 29, 2010 Author Share Posted July 29, 2010 Bonjour,Désolé du retard de la réponse...beaucoup de travail ! Les droits en écritures sont d'origine à l'installation, j'ai essayé en droit 777 sur tout le répertoire smarty/cache et compile, mais rien n'y change, toujours une page blanche en vidant le répertoire /compile et/ou cache, un cauchemar !Une autre idée ??Merci de votre aide Link to comment Share on other sites More sharing options...
tresorsdargan Posted July 30, 2010 Author Share Posted July 30, 2010 Une petite idée ?? Link to comment Share on other sites More sharing options...
jmaumene Posted August 26, 2010 Share Posted August 26, 2010 J'etait partit en vacance, je n'ai pas pu vous répondre.Pourriez vous indiquer comment vous avez résolu votre problème ?-> dans le fichier config.inc.php il faut mettre @ini_set('display_errors', 'on'); au lieu de off pour afficher les erreurs PHP Link to comment Share on other sites More sharing options...
kiamaru Posted December 5, 2010 Share Posted December 5, 2010 Bonjour narjiscomment avez-vous resolu le probleme de la page blanche en FO lorsque l'on vide le dossier compile de smary? Link to comment Share on other sites More sharing options...
fredopahu Posted December 8, 2010 Share Posted December 8, 2010 Pour ma part, comme le dit Marty69, résolution du problème en forcant la recompilation via la ligne suivante passée à True :$smarty->force_compile = true; 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