dalibou Posted May 25, 2017 Share Posted May 25, 2017 Bonjour, je suis nouveau dans la communauté et j'aimerais bien qu'on m'aide sur des questions simples: * ma boutique ne livre que dans une liste d'endroits bien précis. Par exemple : Plestin les grèves, Locquirec et Trémel (en Bretagne). Pour chacune de de ces villes il y a un tarif minimum de livraison ainsi que des frais différents de livraison. Comment pourrais je faire ceci très rapidement (et surtout facilement) . * Pendant que le client passe la commande il ne pourra sélectionner que ces trois villes * Dans l’aperçu de la commande les frais de livraison sont ajoutés automatiquement en relation avec le lieu de livraison sélectionné : plestin les grèves --> gratuit Locquirec --> 6,50 Euros Trémel --> 6,90 Euros Sachant que j'utilisae la version 1.6.1.5 merci de me fournir une description facile à appliquer. MErci beaucoup et bonne journée Link to comment Share on other sites More sharing options...
Baba deCode Posted May 26, 2017 Share Posted May 26, 2017 (edited) Hello dalibou,Ah la restriction par ville tout un programme ! J'ai peut être une piste pour toi, tu vas voir c'est ludique et surtout très rapide.1) dans ta base de donnée tu crées une nouvelle table ps_restriction_code_postal2) tu y ajoute deux colonnes de type INT nommé "id" et "code_postal"3) tu ajoutes tes 3 codes postaux ex id 1 -> 22310 pour Plestin les grèves 4) on va se créer un petit override mignon de la classe Address.php <?php /** * 2007-2016 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-2016 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 Address extends AddressCore { public static function checkzip($code_postal) { $sql = new DbQuery(); $sql->select('code_postal'); $sql->from('restriction_code_postal'); $sql->where('code_postal = '.(int)$code_postal); $result = Db::getInstance()->getValue($sql); if( $result ){ $result = true; }else{ $result = false; } return $result; } } 5) bien sur tu effaces ton class_index.php ... il ne te reste plus qu'a faire une vérification dans ton tpl si l'addresse de livraison du client est bien dans la bdd dans order-carrier.tpl {assign var=checkzip value=Address::checkzip($address_list[0].postcode)} {if $checkzip == true} ... on affiche les transporteurs... {else} On ne vous livre pas dans cette ville {/if} bon courage Edited May 26, 2017 by Alexandre Carette (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