Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Почта России - Наложка и обычная
Всем день добрый. Имеем следующую проблему. Некорректно работают модули: Почта России и Почта России наложенный платеж. Проявляется это в следующем - при включении модуля "почта россии наложенный платеж", все считается правильно, но если включить дополнительно модуль "Почта россии" то получается вот такая ситуация - Оба варианта доставки выводят данные "Почта России". Далее, при отключении одного из них выпадает ошибка, и оба модуля (и отключенный и подключенный) не выводятся в списке вариантов доставок, при этом ошибка занимает треть страницы. Как это починить бы ?
Забавно.... Поковырявшись в модулях russianpostpf и russianpostprepay заметил небольшой косяк в модуле ****pf. Может кому пригодится, и надеюсь, многоуважаемый Евгений в версии 2.6 исправит сей недочет. Собственно вот исходный кусок: //отправление по России if($dest_zone < 20) { $shipping = -1; $zones_cost = constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_STATES_PRICE_'.$mode.'_' . $dest_zone);
$cost_table = preg_split("//" , $zones_cost);
$shipping = $this->price($cost_table, $shipping_weight, $need_parcel, $maxweight, constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.(($dest_zone < 20) ? $mode : 'INTER').'_REG'));
$shipping_method = @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_WAY_'.$mode).' <nobr>('.$order->delivery['state']. ' - '.$shipping_weight.'</nobr> <nobr>['. @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_NEED'). $this->om_number($need_parcel, array(@constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_1'), @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_2'), @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_5'))). ']</nobr>)'; }
А должно быть приблизительно вот так (Если я правильно конечно, понимаю): //отправление по России if($dest_zone < 20) { $shipping = -1; $zones_cost = constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_STATES_PRICE_'.$mode.'_' . $dest_zone);
$cost_table = preg_split("//" , $zones_cost);
$shipping = $this->price($cost_table, $shipping_weight, $need_parcel, $maxweight, constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.(($dest_zone < 20) ? $mode : 'INTER').'_REG'));
$shipping_method = @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_WAY_'.$mode.'_PF').' <nobr>('.$order->delivery['state']. ' - '.$shipping_weight. @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_TEXT_UNITS_PF').'</nobr><nobr>['. @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_NEED'). $this->om_number($need_parcel, array(@constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_1'), @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_2'), @constant('MODULE_SHIPPING_RUSSIANPOSTPREPAY_'.$mode.'_5'))). ']</nobr>)'; } Так как в файле ru.php прописаны аргументы с _PF на конце, а в самом скрипте, про них забыли.
млин, вроде в код убрал, а страницу все равно заколбасило....
Источник
|