Quali Posted July 23, 2014 Share Posted July 23, 2014 Bonjour, Dès que je clique sur le "bouton modifier", sur ma page "Seo & url" j'obtiens une page blanche. Donc je suis dans l'impossibilité de changer quoi que se soit. Après consultation du forum, j'ai appliqué la petite technique qui consiste à voir le message d'erreur. le voici : Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /home/bougiepa/www/override/controllers/front/AddressController.php on line 6 Je ne sait absolument pas décripter les messages d'erreurs..... Malgré toutes mes recherches sur ce forum, je ne trouve pas la solution à mon problème, je solicite votre aide pour trouver une solution. Merci. Link to comment Share on other sites More sharing options...
ChDUP Posted July 23, 2014 Share Posted July 23, 2014 apparemment l'un de vos modules a installé un override du controller front d'adresses qui est foireux pouvez-vous nous copier-coller la ligne 6 de ce fichier ? Link to comment Share on other sites More sharing options...
Quali Posted July 23, 2014 Author Share Posted July 23, 2014 apparemment l'un de vos modules a installé un override du controller front d'adresses qui est foireux pouvez-vous nous copier-coller la ligne 6 de ce fichier ? Je ne sais pas exactement à partir d'où il faut compter, donc j'ai mis le début (dans l'espoir qu'il y a la partie que vous avez demandé) : class AddressControllerCore extends FrontController { public $auth = true; public $guestAllowed = true; public $php_self = 'address'; public $authRedirection = 'addresses'; public $ssl = true; /** * @var Address Current address */ protected $_address; /** * Set default medias for this controller */ public function setMedia() { parent::setMedia(); $this->addJS(array( _THEME_JS_DIR_.'tools/vatManagement.js', _THEME_JS_DIR_.'tools/statesManagement.js', _PS_JS_DIR_.'validate.js' Merci de votre aide Link to comment Share on other sites More sharing options...
ChDUP Posted July 23, 2014 Share Posted July 23, 2014 qu'est ce que c'est que ce "class AddressControllerCore extends FrontController" qui ne veut rien dire ? Si vous ne savez pas à quoi sert cet override, essayez de le desactiver. vous renommez ce fichier, par exemple AddressController_old.php renommez également cache/class_index.php pour que la modif soit prise en compte. et videz le cache smarty Vous êtes sur quelle version Presta ? Link to comment Share on other sites More sharing options...
Quali Posted July 23, 2014 Author Share Posted July 23, 2014 Je suis sur Prestashop 1.6.0.6 Link to comment Share on other sites More sharing options...
ChDUP Posted July 23, 2014 Share Posted July 23, 2014 et donc, ça solutionne ? Link to comment Share on other sites More sharing options...
Quali Posted July 23, 2014 Author Share Posted July 23, 2014 J'ai suivi vos instructions et j'obtient un autre message d'erreur : Parse error: syntax error, unexpected '{' in /home/bougiepa/www/controllers/front/AddressController.php on line 28 Ci-dessous le fichier : AddressController_old.php{ public $auth = true; public $guestAllowed = true; public $php_self = 'address'; public $authRedirection = 'addresses'; public $ssl = true; /** * @var Address Current address */ protected $_address; /** * Set default medias for this controller */ public function setMedia() { parent::setMedia(); $this->addJS(array( _THEME_JS_DIR_.'tools/vatManagement.js', _THEME_JS_DIR_.'tools/statesManagement.js', _PS_JS_DIR_.'validate.js' )); } /** * Initialize address controller * @see FrontController::init() */ public function init() { parent::init(); // Get address ID $id_address = 0; if ($this->ajax && Tools::isSubmit('type')) { if (Tools::getValue('type') == 'delivery' && isset($this->context->cart->id_address_delivery)) $id_address = (int)$this->context->cart->id_address_delivery; else if (Tools::getValue('type') == 'invoice' && isset($this->context->cart->id_address_invoice) && $this->context->cart->id_address_invoice != $this->context->cart->id_address_delivery) $id_address = (int)$this->context->cart->id_address_invoice; } else $id_address = (int)Tools::getValue('id_address', 0); // Initialize address if ($id_address) { $this->_address = new Address($id_address); if (Validate::isLoadedObject($this->_address) && Customer::customerHasAddress($this->context->customer->id, $id_address)) { if (Tools::isSubmit('delete')) { if ($this->_address->delete()) { if ($this->context->cart->id_address_invoice == $this->_address->id) unset($this->context->cart->id_address_invoice); if ($this->context->cart->id_address_delivery == $this->_address->id) { unset($this->context->cart->id_address_delivery); $this->context->cart->updateAddressId($this->_address->id, (int)Address::getFirstCustomerAddressId(Context::getContext()->customer->id)); } Tools::redirect('index.php?controller=addresses'); } $this->errors[] = Tools::displayError('This address cannot be deleted.'); } } elseif ($this->ajax) exit; else Tools::redirect('index.php?controller=addresses'); } } Link to comment Share on other sites More sharing options...
ChDUP Posted July 23, 2014 Share Posted July 23, 2014 c'est votre fichier controllers/front/AddressController.php ça ? Link to comment Share on other sites More sharing options...
Quali Posted July 24, 2014 Author Share Posted July 24, 2014 c'est votre fichier controllers/front/AddressController.php ça ? Oui, je confirme, je viens juste de vérifier c'est le début.... je n'ai pas tout mis. Pourquoi? Ca ne va pas? Vous m'inquièté là !!!!!!!! Link to comment Share on other sites More sharing options...
ChDUP Posted July 24, 2014 Share Posted July 24, 2014 on recapitule car je pense qu'il ya embrouille la. D'origine vous devez avoir un fichier controllers/front/AddressController.php qui commence comme ceci : <?php /* * PLUSIEURS LIGNES SUR LA LICENCE PRESTASHOP */ class AddressControllerCore extends FrontController { public $auth = true; public $guestAllowed = true; Dans votre copier-coller ci-dessus il y a un "AddressController_old.php" cette ligne est dans le code du fichier ? remplacez la par class AddressControllerCore extends FrontController ou mieux, retelecharger un Presta 1.6.0.6 vierge, et remplacez ce fichier. Dans votre install, vous avez apparemment un fichier qui surcharge celui, qui est override/controllers/front/AddressController.php Je vous demandais donc dans ma premiere intervention de renommer ce fichier pour qu'il ne soit plus utilisé.Ca, apparemment ça a été fait puisque c'est bien controllers/front/AddressController.php qui est utilisé. Link to comment Share on other sites More sharing options...
Quali Posted July 24, 2014 Author Share Posted July 24, 2014 Voilà le problème est résolu , la solution vous me l'aviez donné depuis le début, sauf que j'ai mal compris un détail. Suite à votre dernier post j'ai tout repris depuis le début, la bonne manipulation est celle-ci : vous renommez ce fichier, par exemple AddressController_old.phprenommez également cache/class_index.php pour que la modif soit prise en compte. et videz le cache smarty Merci beaucoup ChDUP pour votre aide. Link to comment Share on other sites More sharing options...
ChDUP Posted July 24, 2014 Share Posted July 24, 2014 attention Cette manip permet de voir que le problème vient bien de cet override. Ici, on l'a supprimé. Mais cet override a bien été installé soit par quelqu'un, soit par un module et devait servir à quelque chose. Il faut pister de quoi il vient et à quoi il servait. Quelque chose de special au niveau des adresses des clients sur votre site ? Link to comment Share on other sites More sharing options...
Quali Posted July 24, 2014 Author Share Posted July 24, 2014 (edited) Le seul truc étrange au niveau des clients sur une des dernières inscriptions (pas de commandes passées) - inscription le 10/07/2014 - une commande #6 du 05/05/2014 et quand je clic sur la fameuse commande, j'obtiens une page blanche avec ce message d'erreur : Fatal error: Call to a member function hasBeenShipped() on a non-object in /home/bougiepa/www/controllers/admin/AdminOrdersController.php on line 261 ci-dessous le début du fichier : <?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*/class AdminOrdersControllerCore extends AdminController{ public $toolbar_title; protected $statuses_array = array(); public function __construct() { $this->bootstrap = true; $this->table = 'order'; $this->className = 'Order'; $this->lang = false; $this->addRowAction('view'); $this->explicitSelect = true; $this->allow_export = true; $this->deleted = false; $this->context = Context::getContext(); $this->_select = ' a.id_currency, a.id_order AS id_pdf, CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`, osl.`name` AS `osname`, os.`color`, IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new, country_lang.name as cname, IF(a.valid, 1, 0) badge_success'; $this->_join = ' LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) INNER JOIN `'._DB_PREFIX_.'address` address ON address.id_address = a.id_address_delivery INNER JOIN `'._DB_PREFIX_.'country` country ON address.id_country = country.id_country INNER JOIN `'._DB_PREFIX_.'country_lang` country_lang ON (country.`id_country` = country_lang.`id_country` AND country_lang.`id_lang` = '.(int)$this->context->language->id.') LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')'; $this->_orderBy = 'id_order'; $this->_orderWay = 'DESC'; $statuses = OrderState::getOrderStates((int)$this->context->language->id); foreach ($statuses as $status) $this->statuses_array[$status['id_order_state']] = $status['name']; $this->fields_list = array( 'id_order' => array( 'title' => $this->l('ID'), 'align' => 'text-center', 'class' => 'fixed-width-xs' ), 'reference' => array( 'title' => $this->l('Reference') ), 'new' => array( 'title' => $this->l('New client'), 'align' => 'text-center', 'type' => 'bool', 'tmpTableFilter' => true, 'orderby' => false ), 'customer' => array( 'title' => $this->l('Customer'), 'havingFilter' => true, ), ); Ha mince, ligne 261, j'en ai pas assez mis, si il faut dites-moi comment vous joindre le fichier. Edited July 24, 2014 by Quali (see edit history) Link to comment Share on other sites More sharing options...
ChDUP Posted July 24, 2014 Share Posted July 24, 2014 euh non mais la c'est à vous de savoir si votre site a une fonctionnalités particulière au niveau des adresses / livraisons. vous avez un module qui touche à ça ? Link to comment Share on other sites More sharing options...
Quali Posted July 24, 2014 Author Share Posted July 24, 2014 Excusez-moi, j'ai un peu de mal à suivre, c'est pas facile pour les novices.... j' ai un texte sur les fiches clients qui me dit ceci : Aucun gabarit trouvé pour le module referralprogram je recherche au niveau des modules.....en mettant le nom dans la recherche j'obtiens ce module : Programme de parrainage v1.5.8 - by PrestaShop Le problème viendrait de celui-là? Faut-il le désinstaller? Link to comment Share on other sites More sharing options...
ChDUP Posted July 25, 2014 Share Posted July 25, 2014 je ne pense pas non. quelqu'un d'autre a-t-il travaillé sur ce site ? Il faut déjà determiner si cet override a été créé par quelqu'un ou par un module. Link to comment Share on other sites More sharing options...
Quali Posted July 25, 2014 Author Share Posted July 25, 2014 Oui on est 2 à travailler sur le site (c'est ma collègue qui a installé les modules), Elle me dit qu'elle avait installé plusieurs modules et suite à ça, le problème du SEO est apparut. Elle ne sait pas lequel à pu éventuellement provoquer le problème... Après j'ai recherché au niveau des modules (adresse/livraison), j'ai que ceux-ci d'actifs Transporteur et Logistique Mondial Relay v2.0.3 - by PrestaShop - Officiel Livrez vos colis en Point Relais® Transporteur et Logistique Date de livraison v1.4.1 - by PrestaShop Afficher une date approximative de livraison Par contre Mondial Relay "bug" (je suis le sujet qui est en cours), est-ce que ça peut -être lié? Link to comment Share on other sites More sharing options...
ChDUP Posted July 25, 2014 Share Posted July 25, 2014 le module mondial relay semble être un sacré souci en effet. Si vous essayez de le desinstaller/réinstaller, vous pouvez regarder si il recrée ce fameux fichier d'override ? (ou peut être simplement en le réinitialisant) Link to comment Share on other sites More sharing options...
Quali Posted July 25, 2014 Author Share Posted July 25, 2014 J'ai désinstaller et réinstaller les 2 modules séparément en vérifiant bien à chaque fois, ça n'a pas recrée le fichier d'override. Je poursuis mes recherches au niveau des modules..... 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