Вопрос Тарифы через зоны в пределах страны (P 1,6)

fantats

Постоялец
Регистрация
30 Ноя 2014
Сообщения
327
Реакции
195
Может кто сталкивался с установкой тарифов в одной стране через присвоении областям(states) разных зон?
Как поправит?
Тоесть сейчас выбирая одну страну подтягивает одну зону и если ты присвоил в State другой тариф через зону - то оно подтянет все равну ту зону которая в стране. Не понятно тогда зачем ввообще эти зоны в областях
1650314043343.png


тут вроде проверка /controllers/front/ParentOrderController.php

Код:
 if (isset($this->context->customer->id) && $this->context->customer->id) {
            $address = new Address((int)$this->context->cart->id_address_delivery);
            if (!($id_zone = Address::getZoneById($address->id))) {
                $this->errors[] = Tools::displayError('No zone matches your address.');
            }
        } else {
            $id_zone = (int)Country::getIdZone((int)Tools::getCountry());
        }

и тут фрагмент
/classes/Address.php

Код:
 public static function getZoneById($id_address)
    {
        if (!isset($id_address) || empty($id_address)) {
            return false;
        }

        if (isset(self::$_idZones[$id_address])) {
            return self::$_idZones[$id_address];
        }

        $id_zone = Hook::exec('actionGetIDZoneByAddressID', array('id_address' => $id_address));

        if (is_numeric($id_zone)) {
            self::$_idZones[$id_address] = (int)$id_zone;
            return self::$_idZones[$id_address];
        }

        $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
            SELECT s.`id_zone` AS id_zone_state, c.`id_zone`
            FROM `'._DB_PREFIX_.'address` a
            LEFT JOIN `'._DB_PREFIX_.'country` c ON c.`id_country` = a.`id_country`
            LEFT JOIN `'._DB_PREFIX_.'state` s ON s.`id_state` = a.`id_state`
            WHERE a.`id_address` = '.(int)$id_address);

        self::$_idZones[$id_address] = (int)((int)$result['id_zone_state'] ? $result['id_zone_state'] : $result['id_zone']);
        return self::$_idZones[$id_address];
    }

детальнее можно почитать (может не понятно обяснил:(
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

как решения предлагают модули
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
но пока ищу free вариант
 
Назад
Сверху