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

Twix007

Гуру форума
Регистрация
11 Окт 2009
Сообщения
257
Реакции
57
По робочему модулю 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 таблицы?
Также своя база аналогична новой почте, но для автолюкса.

Для просмотра ссылки Войди или Зарегистрируйся

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

Вложения

  • 4delivery.zip
    57,6 KB · Просмотры: 70
Последнее редактирование модератором:
Изясню по другому уже!=)
В архиве 2 модуля доставки новая почта и автолюкс. Также в архиве база отделений новой почты.
база заменяет дефолтные таблицы: префикс_country и префикс_zone и работает только с новой почтой.
Как изменить запрос в файле \catalog\model\shipping\novaposhta.php чтобы не заменялись дефолтные таблицы префикс_country и префикс_zone? А для базы новой почты были свои 2 таблицы?
Также своя база аналогична новой почте, но для автолюкса.
Для каждого доставщика делать отдельную таблицу Префикс_НазваниеКомпании_country и Префикс_НазваниеКомпании_zone.
На форме добавить переменную, например $delivery, которой присваивать НазваниеКомпании.
И запросы изменить на Префикс_$delivery_country и Префикс_$delivery_zone.
префикс_country и префикс_zone
префикс_country и префикс_zone
 
Назад
Сверху