Tandf Posted July 6, 2016 Share Posted July 6, 2016 Bonjour à tous, Suite à un essai de mis à jour des modules de ma boutique 1.6.0.9, je ne peux plus accéder aux modules de ma boutique, j'ai message suivant: Fatal error in module Helper: call to a member function create Template () on a non-object. Je ne parviens pas à résoudre ce porblème d'accés aux modules. Sous firebug j'ai le message suivant: NetworkError: 500 Internal server error Http://maboutique.com/admin0/index.php?controller=adminmodules&token=07ecb ......... Quelqu'un aurait une solution? quelque chose à essayer pour fixer le problème? Je ne connais pas bien le monde du FTP (je suis chez OVH). Merci d'avance pour votre précieuse aide, Cdlt Med Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2016 Share Posted July 6, 2016 Activez l'affichage des erreurs pour en savoir plus et ensuite, supprimez le module concerné Link to comment Share on other sites More sharing options...
Tandf Posted July 6, 2016 Author Share Posted July 6, 2016 Bonjour Elolia, Merci beaucoup pour ton aide Lorsque je lance l'affichage des erreur j'ai le message suivant: "NetworkError: 500 Internal Server Error - http://maboutique.com/admin0/index.php?controller=AdminModules&token=07ecb914b8fe7e46a15848c5eb938721 Comment savoir quel module supprimer et comment savoir s'il est critique pour ma boutique? Ai je un autre moyen avec firebug de détecter le module defectueux? Merciiiiii Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2016 Share Posted July 6, 2016 Non, ce n'est pas un message d'erreur ça... Il faut activer l'affichage des erreurs pour en savoir plus, en modifiant cette ligne au début du fichier config/defines.inc.php : define('_PS_MODE_DEV_', false); par define('_PS_MODE_DEV_', true); Et donnez-nous l'erreur après avoir rafraichi la page Link to comment Share on other sites More sharing options...
Tandf Posted July 6, 2016 Author Share Posted July 6, 2016 Dans le FTP config/defines.inc.php je n'ai pas le message PS_MODE_DEV_', false, est ce normal? copie ci aprés <?php/** 2007-2014 PrestaShop** NOTICE OF LICENSE** This source file is subject to the Open Software License (OSL 3.0)* that is bundled with this package in the file LICENSE.txt.* It is also available through the world-wide-web at this URL:* http://opensource.org/licenses/osl-3.0.php* If you did not receive a copy of the license and are unable to* obtain it through the world-wide-web, please send an email* to [email protected] so we can send you a copy immediately.** DISCLAIMER** Do not edit or add to this file if you wish to upgrade PrestaShop to newer* versions in the future. If you wish to customize PrestaShop for your* needs please refer to http://www.prestashop.com for more information.** @author PrestaShop SA <[email protected]>* @copyright 2007-2014 PrestaShop SA* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)* International Registered Trademark & Property of PrestaShop SA*/require_once(dirname(__FILE__).'/defines.inc.php');$start_time = microtime(true);/* SSL configuration */define('_PS_SSL_PORT_', 443);/* Improve PHP configuration to prevent issues */ini_set('upload_max_filesize', '100M');ini_set('default_charset', 'utf-8');ini_set('magic_quotes_runtime', 0);/* correct Apache charset (except if it's too late */if (!headers_sent()) header('Content-Type: text/html; charset=utf-8');/* No settings file? goto installer... */if (!file_exists(_PS_ROOT_DIR_.'/config/settings.inc.php')){ $dir = ((substr($_SERVER['REQUEST_URI'], -1) == '/' || is_dir($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/'); if (file_exists(dirname(__FILE__).'/../install')) header('Location: install/'); elseif (file_exists(dirname(__FILE__).'/../install-dev')) header('Location: install-dev/'); else die('Error: "install" directory is missing'); exit;}//include settings file only if we are not in multi-tenancy moderequire_once(_PS_ROOT_DIR_.'/config/settings.inc.php');require_once(_PS_CONFIG_DIR_.'autoload.php');if (_PS_DEBUG_PROFILING_){ include_once(_PS_TOOL_DIR_.'profiling/Controller.php'); include_once(_PS_TOOL_DIR_.'profiling/ObjectModel.php'); include_once(_PS_TOOL_DIR_.'profiling/Hook.php'); include_once(_PS_TOOL_DIR_.'profiling/Db.php'); include_once(_PS_TOOL_DIR_.'profiling/Tools.php');}if (Tools::isPHPCLI() && isset($argc) && isset($argv)) Tools::argvToGET($argc, $argv);/* Redefine REQUEST_URI if empty (on some webservers...) */if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI'])){ if (!isset($_SERVER['SCRIPT_NAME']) && isset($_SERVER['SCRIPT_FILENAME'])) $_SERVER['SCRIPT_NAME'] = $_SERVER['SCRIPT_FILENAME']; if (isset($_SERVER['SCRIPT_NAME'])) { if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/'; else { $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; } }}/* Trying to redefine HTTP_HOST if empty (on some webservers...) */if (!isset($_SERVER['HTTP_HOST']) || empty($_SERVER['HTTP_HOST'])) $_SERVER['HTTP_HOST'] = @getenv('HTTP_HOST'); $context = Context::getContext();/* Initialize the current Shop */try{ $context->shop = Shop::initialize(); $context->theme = new Theme((int)$context->shop->id_theme); if ((Tools::isEmpty($theme_name = $context->shop->getTheme()) || !Validate::isLoadedObject($context->theme)) && !defined('_PS_ADMIN_DIR_')) throw new PrestaShopException(Tools::displayError('Current theme unselected. Please check your theme configuration.'));}catch (PrestaShopException $e){ $e->displayMessage();}define('_THEME_NAME_', $theme_name);define('__PS_BASE_URI__', $context->shop->getBaseURI());/* Include all defines related to base uri and theme name */require_once(dirname(__FILE__).'/defines_uri.inc.php');global $_MODULES;$_MODULES = array();/* Load configuration */Configuration::loadConfiguration();if (Configuration::get('PS_USE_HTMLPURIFIER')) require_once (_PS_TOOL_DIR_.'htmlpurifier/HTMLPurifier.standalone.php');/* Load all languages */Language::loadLanguages();/* Loading default country */$defaultCountry = new Country(Configuration::get('PS_COUNTRY_DEFAULT'), Configuration::get('PS_LANG_DEFAULT'));$context->country = $defaultCountry;/* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */@date_default_timezone_set(Configuration::get('PS_TIMEZONE'));/* Set locales */$locale = strtolower(Configuration::get('PS_LOCALE_LANGUAGE')).'_'.strtoupper(Configuration::get('PS_LOCALE_COUNTRY'));/* Please do not use LC_ALL here http://www.php.net/manual/fr/function.setlocale.php#25041 */setlocale(LC_COLLATE, $locale.'.UTF-8', $locale.'.utf8');setlocale(LC_CTYPE, $locale.'.UTF-8', $locale.'.utf8');setlocale(LC_TIME, $locale.'.UTF-8', $locale.'.utf8');setlocale(LC_NUMERIC, 'en_US.UTF-8', 'en_US.utf8');/* Instantiate cookie */$cookie_lifetime = (int)(defined('_PS_ADMIN_DIR_') ? Configuration::get('PS_COOKIE_LIFETIME_BO') : Configuration::get('PS_COOKIE_LIFETIME_FO'));if ($cookie_lifetime > 0) $cookie_lifetime = time() + (max($cookie_lifetime, 1) * 3600);if (defined('_PS_ADMIN_DIR_')) $cookie = new Cookie('psAdmin', '', $cookie_lifetime);else{ if ($context->shop->getGroup()->share_order) $cookie = new Cookie('ps-sg'.$context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart()); else { $domains = null; if ($context->shop->domain != $context->shop->domain_ssl) $domains = array($context->shop->domain_ssl, $context->shop->domain); $cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains); }}$context->cookie = $cookie;/* Create employee if in BO, customer else */if (defined('_PS_ADMIN_DIR_')){ $employee = new Employee($cookie->id_employee); $context->employee = $employee; /* Auth on shops are recached after employee assignation */ if ($employee->id_profile != _PS_ADMIN_PROFILE_) Shop::cacheShops(true); $cookie->id_lang = (int)$employee->id_lang;}/* if the language stored in the cookie is not available language, use default language */if (isset($cookie->id_lang) && $cookie->id_lang) $language = new Language($cookie->id_lang);if (!isset($language) || !Validate::isLoadedObject($language)) $language = new Language(Configuration::get('PS_LANG_DEFAULT'));$context->language = $language;if (!defined('_PS_ADMIN_DIR_')){ if (isset($cookie->id_customer) && (int)$cookie->id_customer) { $customer = new Customer($cookie->id_customer); if (!Validate::isLoadedObject($customer)) $context->cookie->logout(); else { $customer->logged = true; if ($customer->id_lang != $context->language->id) { $customer->id_lang = $context->language->id; $customer->update(); } } } if (!isset($customer) || !Validate::isLoadedObject($customer)) { $customer = new Customer(); // Change the default group if (Group::isFeatureActive()) $customer->id_default_group = (int)Configuration::get('PS_UNIDENTIFIED_GROUP'); } $customer->id_guest = $cookie->id_guest; $context->customer = $customer;}/* Link should also be initialized in the context here for retrocompatibility */$context->link = new Link($https_link, $https_link);/** * @deprecated : these defines are going to be deleted on 1.6 version of Prestashop * USE : Configuration::get() method in order to getting the id of order status */define('_PS_OS_CHEQUE_', Configuration::get('PS_OS_CHEQUE'));define('_PS_OS_PAYMENT_', Configuration::get('PS_OS_PAYMENT'));define('_PS_OS_PREPARATION_', Configuration::get('PS_OS_PREPARATION'));define('_PS_OS_SHIPPING_', Configuration::get('PS_OS_SHIPPING'));define('_PS_OS_DELIVERED_', Configuration::get('PS_OS_DELIVERED'));define('_PS_OS_CANCELED_', Configuration::get('PS_OS_CANCELED'));define('_PS_OS_REFUND_', Configuration::get('PS_OS_REFUND'));define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));define('_PS_OS_OUTOFSTOCK_', Configuration::get('PS_OS_OUTOFSTOCK'));define('_PS_OS_BANKWIRE_', Configuration::get('PS_OS_BANKWIRE'));define('_PS_OS_PAYPAL_', Configuration::get('PS_OS_PAYPAL'));define('_PS_OS_WS_PAYMENT_', Configuration::get('PS_OS_WS_PAYMENT'));/* Get smarty */require_once(dirname(__FILE__).'/smarty.config.inc.php');$context->smarty = $smarty; Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2016 Share Posted July 6, 2016 j'ai écris define.inc.php pas config... Link to comment Share on other sites More sharing options...
Tandf Posted July 6, 2016 Author Share Posted July 6, 2016 Oups, vraiment désolé Merci pour le rappel... j'ai fais la modi et j'ai maintenant le message suivant: Fatal error: Call to a member function createTemplate() on a non-object in /home/placebaloq/www/classes/helper/Helper.php on line 103[PrestaShop] Fatal error in module Helper:Call to a member function createTemplate() on a non-object Dans le FTP la ligne 103 est: return $this->context->smarty->createTemplate($this->base_folder.$tpl_name, $this->context->smarty); Merci beaucoup pour ton aide Link to comment Share on other sites More sharing options...
Tandf Posted July 6, 2016 Author Share Posted July 6, 2016 Comment corriger l'erreur? Merci Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2016 Share Posted July 6, 2016 Bon apparemment vous avez un module qui n'est pas compatible avec la 1.6 Dans les paramètres performances, cochez "désactiver les modules non-natifs" et essayez de rafraichir la page des modules Link to comment Share on other sites More sharing options...
Tandf Posted July 6, 2016 Author Share Posted July 6, 2016 Après essai de désactiver les modules natifs , vidé le cache du presta et du navigateur, le problème est toujours là: Fatal error: Call to a member function createTemplate() on a non-object in /home/placebaloq/www/classes/helper/Helper.php on line 103[PrestaShop] Fatal error in module Helper:Call to a member function createTemplate() on a non-object Que puis je tester maintenant pour résoudre le problème? Merci à toi pour ton aide précieuse c'est appréciable de ne pas ce sentir seul face à cela, Link to comment Share on other sites More sharing options...
Tandf Posted July 7, 2016 Author Share Posted July 7, 2016 Hello Est ce que quelqu'un aurait une solution? Merci Link to comment Share on other sites More sharing options...
Eolia Posted July 8, 2016 Share Posted July 8, 2016 Il n'y a pas de solution simple. Sur votre ftp, renommez tous vos répertoires modules en nom_du_module_old rafraichissez la pages des modules Si le problème est toujours là, le souci vient du core, ce qui serait surprenant... Ensuite, enlevez le _old à chaque module et rafraîchissez la page à chaque fois Tant qu'elle n'affiche pas d'erreur on passe au suivant Cela permettra d'isoler le module defaillant Link to comment Share on other sites More sharing options...
Tandf Posted July 8, 2016 Author Share Posted July 8, 2016 Bonjour , Merci pour le retour je vais essayer cela. HELP!! je ne sais pas comment mais maintenant sur ma boutique j'ai tout un tas d'inscrption qui s'affiche du genre: Notice: Undefined index: homeFeaturedProducts in /home/placebaloq/www/cache/smarty/compile/e5/fe/29/e5fe29b9e716d746597ab65e4e032656ab094962.file.tmfeatureproducts.tpl.cache.php on line 48 J'ai remis le define.inc.php en false mais cela ne disparait pas! Comment enlever ces messages? Merci d'avance Link to comment Share on other sites More sharing options...
Tandf Posted July 8, 2016 Author Share Posted July 8, 2016 C'est bon, j'ai fini par résoudre le problème simplement en réactivant tout les modules non natif. Pour le recherche du module avec defaut: dans le repertoire www/modules il y a 106 repertoires, donc 106 modules à mettre en old? Merci à toi Link to comment Share on other sites More sharing options...
Tandf Posted July 8, 2016 Author Share Posted July 8, 2016 je ne sais pas si sa peux vous aider si je vous donne les lignes autour de celle décrite dans l'erreur? est ce que cela peux guider sur quel pourrait être le module créant le défaut? public function createTemplate($tpl_name) { if ($this->override_folder) { if ($this->context->controller instanceof ModuleAdminController) $override_tpl_path = $this->context->controller->getTemplatePath().$this->override_folder.$this->base_folder.$tpl_name; else if ($this->module) $override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->override_folder.$this->base_folder.$tpl_name; else { if (file_exists($this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name)) $override_tpl_path = $this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name; else if (file_exists($this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name)) $override_tpl_path = $this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name; } } else if ($this->module) $override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->base_folder.$tpl_name; if (isset($override_tpl_path) && file_exists($override_tpl_path)) return $this->context->smarty->createTemplate($override_tpl_path, $this->context->smarty); else return $this->context->smarty->createTemplate($this->base_folder.$tpl_name, $this->context->smarty); } /** * default behaviour for helper is to return a tpl fetched * * @return string */ public function generate() { $this->tpl->assign($this->tpl_vars); return $this->tpl->fetch(); } /** * @deprecated 1.5.0 */ public static function renderAdminCategorieTree($translations, $selected_cat = array(), $input_name = 'categoryBox', $use_radio = false, $use_search = false, $disabled_categories = array(), $use_in_popup = false) { Tools::displayAsDeprecated(); $helper = new Helper(); if (isset($translations['Root'])) $root = $translations['Root']; else if (isset($translations['Home'])) $root = array('name' => $translations['Home'], 'id_category' => 1); else throw new PrestaShopException('Missing root category parameter.'); return $helper->renderCategoryTree($root, $selected_cat, $input_name, $use_radio, $use_search, $disabled_categories, $use_in_popup); } Link to comment Share on other sites More sharing options...
Eolia Posted July 9, 2016 Share Posted July 9, 2016 C'est bon, j'ai fini par résoudre le problème simplement en réactivant tout les modules non natif. Pour le recherche du module avec defaut: dans le repertoire www/modules il y a 106 repertoires, donc 106 modules à mettre en old? Merci à toi Oui, par contre l'erreur précedente était normale vu que le cache est activé. Désactivez-le le temps de vos essais et forcez la compilation Link to comment Share on other sites More sharing options...
Tandf Posted July 10, 2016 Author Share Posted July 10, 2016 Hi Eolia, Ta solution m'a permis d'identifier enfin le module défectueux!! merci beaucoup pour ton analyse!! Il s'agissait du module shoppingflux explor!! Encore merci à toi ! mon problème est résolu! Link to comment Share on other sites More sharing options...
ludojlm Posted January 10, 2017 Share Posted January 10, 2017 Hello, même erreur suite à maj 1.6.1.10, le module a été désactivé et puis moyen de le réactiver sinon j'ai la même erreur... Comment as tu fais? Merci. 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