-
Posts
483 -
Joined
-
Last visited
-
Days Won
1
erouvier29 last won the day on September 24 2017
erouvier29 had the most liked content!
Contact Methods
- Website
-
Skype
erouvier29
Profile Information
-
Location
Brest, France
-
Activity
Developer
Recent Profile Visitors
erouvier29's Achievements
-
Page blanche = erreur PHP a priori, donc non, ce n'est pas le bon code Il ne faut pas ajouter tout le code de AddressesController, mais modifier uniquement la fonction initContent dans MyAccountController en s'inspirant de ce qui est fait dans l'autre Code original PS 1.6.1.23: public function initContent() { parent::initContent(); $has_address = $this->context->customer->getAddresses($this->context->language->id); $this->context->smarty->assign(array( 'has_customer_an_address' => empty($has_address), 'voucherAllowed' => (int)CartRule::isFeatureActive(), 'returnAllowed' => (int)Configuration::get('PS_ORDER_RETURN') )); $this->context->smarty->assign('HOOK_CUSTOMER_ACCOUNT', Hook::exec('displayCustomerAccount')); $this->setTemplate(_PS_THEME_DIR_.'my-account.tpl'); } Code modifié: public function initContent() { parent::initContent(); $has_address = $this->context->customer->getAddresses($this->context->language->id); // Récupération des adresses du client $addresses = $this->context->customer->getAddresses($this->context->language->id); $this->context->smarty->assign(array( 'has_customer_an_address' => empty($has_address), 'voucherAllowed' => (int)CartRule::isFeatureActive(), 'returnAllowed' => (int)Configuration::get('PS_ORDER_RETURN'), // Passage des adresses au template 'addresses' => $addresses, )); $this->context->smarty->assign('HOOK_CUSTOMER_ACCOUNT', Hook::exec('displayCustomerAccount')); $this->setTemplate(_PS_THEME_DIR_.'my-account.tpl'); }
-
Problème lors de l'ajout au panier
erouvier29 replied to wbcreation's topic in PrestaShop pour les développeurs
Le fichier themes/core.js est chargé 2 fois par la page (1 première fois dans <head>, puis dans <body> après <main>). Donc les évènements sont traités en double. => Vérifier votre thème -
[resolu] url attribut produit
erouvier29 replied to snipgot's topic in PrestaShop pour les développeurs
Je regardais les versions 1.6. En 1.7 il y a effectivement moins de références à group name. Je pense que votre modif est ok. Cela fonctionne-t-il? -
[resolu] url attribut produit
erouvier29 replied to snipgot's topic in PrestaShop pour les développeurs
Quelle version de PS utilisez-vous? -
[resolu] url attribut produit
erouvier29 replied to snipgot's topic in PrestaShop pour les développeurs
Pour utiliser le nom public dans l'url: Dans le fichier classes/Product.php, fonction getAttributesInformationsByProduct, remplacez "agl.`name`" par "agl.`public_name`" (3 fois) Pour utiliser le nom dans la fiche produit: Dans le fichier controllers/front/ProductController.php, fonction assignAttributesGroups, remplacez "'name' => $row['public_group_name']," par "'name' => $row['group_name']," -
Impact sur le prix unitaire + déclinaison
erouvier29 replied to Shonen's topic in PrestaShop pour les développeurs
Oops, c'est de ma faute! il manquait un /100: unit_price = unit_price*(1 - discountPercentage/100); -
Impact sur le prix unitaire + déclinaison
erouvier29 replied to Shonen's topic in PrestaShop pour les développeurs
Une URL? -
Impact sur le prix unitaire + déclinaison
erouvier29 replied to Shonen's topic in PrestaShop pour les développeurs
Il y a deux erreurs dans product.js du thème par défaut: Les taxes sont appliquées au prix unitaire même si l'affichage est HT La réduction éventuelle n'est pas appliquée. Cf. PR https://github.com/PrestaShop/PrestaShop/pull/8262 Vous pouvez adapter le product.js de votre thème comme ci-dessus. -
La même solution ne résout-elle pas le même problème? Si vous avez des règles qui imposent que les adresses fassent obligatoirement mention d'une société et d'un numéro de TVA, vous devez soit permettre de les saisir au moment de la création d'un entrepôt (solution 1) soit les fixer par code (solution 2). Il s'agit des propriétés company et vat_number. Pour la solution 2, modifiez la fonction updateAddress dans controllers/admin/AdminWarehousesController.php à partir de la ligne 589 (version 1.6.1.X récente) protected function updateAddress() { /** @var AddressCore $address */ $address = new Address(); if (Tools::isSubmit('id_address') && (int)Tools::getValue('id_address') > 0) { $address = new Address((int)Tools::getValue('id_address')); } $address->alias = Tools::getValue('reference', null); $address->lastname = 'warehouse'; // skip problem with numeric characters $address->firstname = 'warehouse'; // in warehouse name $address->address1 = Tools::getValue('address', null); $address->address2 = Tools::getValue('address2', null); $address->postcode = Tools::getValue('postcode', null); $address->phone = Tools::getValue('phone', null); $address->id_country = Tools::getValue('id_country', null); $address->id_state = Tools::getValue('id_state', null); $address->city = Tools::getValue('city', null); // AJOUTEZ LES 2 LIGNES $address->company = 'Mon entreprise'; $address->vat_number = 'MON-NUM-TVA'; Ça devrait suffire...
-
Product And Carrier Restrictions
erouvier29 replied to dysfunction's topic in Configuring and using PrestaShop
Yes, curiously there is a condition that makes carrier unvailable only in case of a unique package. You can change that behavior within Cart.php. Find the following lines (starting 2095 in the latest 1.6.1.X versions): // Foreach packages, get the carriers with best price, best position and best grade foreach ($packages as $id_package => $package) { // No carriers available if (count($packages) == 1 && count($package['carrier_list']) == 1 && current($package['carrier_list']) == 0) { $cache[$this->id] = array(); return $cache[$this->id]; } And remove or comment out the "1 package condition": // Foreach packages, get the carriers with best price, best position and best grade foreach ($packages as $id_package => $package) { // No carriers available if (/*count($packages) == 1 &&*/ count($package['carrier_list']) == 1 && current($package['carrier_list']) == 0) { $cache[$this->id] = array(); return $cache[$this->id]; } Next step is to explain clearly to the customer why the order cannot be placed...
.png.022b5452a8f28f552bc9430097a16da2.png)