Помощь Модуль Доставки 1.5.6.4 Новая Почта | Автолюкс | Ин-тайм | Укр Почта | Ваш Час

Тема в разделе "Opencart", создана пользователем Twix007, 5 ноя 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Twix007

    Twix007 Нарушитель

    Регистр.:
    11 окт 2009
    Сообщения:
    213
    Симпатии:
    49
    По робочему модулю 4 Delivery для Simple:
    Сделал ещё 3 базы Автолюкс, Интайм, Укрпочта, Ваш Час по аналогу Новой почты (в архиве), но вопрос:
    Как правильно изменить запрос в файле, если у меня отдельные таблицы в БД вида oc_autolux_city и oc_autolux_adress и аналоги?

    А не стандыртные oc_country и oc_zone как для новой почты (в архиве)....
    Для каждой службы чтобы была своя таблица адреса и города!

    БД - было так:
    DROP TABLE IF EXISTS `oc_country`;
    CREATE TABLE IF NOT EXISTS `oc_country` (
    `country_id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(128) NOT NULL,
    `iso_code_2` varchar(2) NOT NULL,
    `iso_code_3` varchar(3) NOT NULL,
    `address_format` text NOT NULL,
    `postcode_required` tinyint(1) NOT NULL,
    `status` tinyint(1) NOT NULL DEFAULT '1',
    PRIMARY KEY (`country_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5369 ;

    DROP TABLE IF EXISTS `oc_zone`;
    CREATE TABLE IF NOT EXISTS `oc_zone` (
    `zone_id` int(11) NOT NULL AUTO_INCREMENT,
    `country_id` int(11) NOT NULL,
    `name` varchar(128) NOT NULL,
    `code` varchar(32) NOT NULL,
    `status` tinyint(1) NOT NULL DEFAULT '1',
    PRIMARY KEY (`zone_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1490 ;
    а нужно что-бы запрос работал в бд так:
    DROP TABLE IF EXISTS `oc_autolux_city`;
    CREATE TABLE IF NOT EXISTS `oc_autolux_city` (
    `city_id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(128) NOT NULL,
    `status` tinyint(1) NOT NULL DEFAULT '1',
    PRIMARY KEY (`city_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5369 ;

    DROP TABLE IF EXISTS `oc_autolux_adress`;
    CREATE TABLE IF NOT EXISTS `oc_autolux_adress` (
    `adress_id` int(11) NOT NULL AUTO_INCREMENT,
    `city_id` int(11) NOT NULL,
    `name` varchar(128) NOT NULL,
    `status` tinyint(1) NOT NULL DEFAULT '1',
    PRIMARY KEY (`adress_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1490 ;

    За помощь - выложу Ин Тайм, Ваш Час, Автолюкс базы, УкрПочту Еще не осилил доделать...

    \catalog\model\shipping\novaposhta.php
    как этот запрос сделать, чтобы он брал данные о стране из таблицы zone_to_geo_zone и из таблиц города oc_novaposhta_city и таблицы адресов отделений oc_novaposhta_adress ?
    Код:
      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int) $this->config->get('novaposhta_geo_zone_id') . "' AND country_id = '" . (int) $address['country_id'] . "' AND (zone_id = '" . (int) $address['zone_id'] . "' OR zone_id = '0')");
    
                if (!$this->config->get('novaposhta_geo_zone_id')) {
                    $status = TRUE;
                } elseif ($query->num_rows) {
                    $status = TRUE;
                } else {
                    $status = FALSE;
                }
            } else {
                $status = FALSE;
            }
    Изясню по другому уже!=)
    В архиве 2 модуля доставки новая почта и автолюкс. Также в архиве база отделений новой почты.
    база заменяет дефолтные таблицы: префикс_country и префикс_zone и работает только с новой почтой.
    Как изменить запрос в файле \catalog\model\shipping\novaposhta.php чтобы не заменялись дефолтные таблицы префикс_country и префикс_zone? А для базы новой почты были свои 2 таблицы?
    Также своя база аналогична новой почте, но для автолюкса.

    https://yadi.sk/d/P-GoMHcdccjKZ

    Неужели никому не интересна нормальная доставка opencart, по аналогии которой можно сделать любую службу доставки с выбором города и отделения перевозчика?
     

    Вложения:

    • 4delivery.zip
      Размер файла:
      57,6 КБ
      Просмотров:
      57
    Последнее редактирование модератором: 13 ноя 2014
  2. MAX_3000

    MAX_3000 Постоялец

    Регистр.:
    11 май 2009
    Сообщения:
    106
    Симпатии:
    53
    Для каждого доставщика делать отдельную таблицу Префикс_НазваниеКомпании_country и Префикс_НазваниеКомпании_zone.
    На форме добавить переменную, например $delivery, которой присваивать НазваниеКомпании.
    И запросы изменить на Префикс_$delivery_country и Префикс_$delivery_zone.
    префикс_country и префикс_zone
    префикс_country и префикс_zone