Сегодня возился с настройкой способов оплаты и вариантов доставки в одном интернет-магазинчике на virtuemart 1.1.4 и joomla 1.5 — спалил мешок нервов ![]()
Не отображаются варианты доставки, хоть ты тресни.
В итоге разобрался.
Проблема была в следующем.
Virtuemart, перед отрисовкой формы выбора вариантов доставки, делает валидацию введенных пользователем данных. В честности проверяет диапазон индексов, И ВЕС посылки.
Если хоть что-то не попадает в указанные диапазоны, то вариант доставки тупо не выводится.
Теперь самое смешное. В настройках товара указан вес в кг.
А это гребаное поделие НЕ ЗНАЕТ единицы измерения «кг.» (кэгэ с точкой)
))
И поэтому virtuemart не отображает варианты доставки совсем!
Решаем проблему следующим образом:
1. Идем в каталог /administrator/components/com_virtuemart/classes
2. Открываем файл ps_shipping_method.php (не забываем, что файл в кодировке UTF-8)
3. Идем примерно до 187 строки.
Видите там ряд проверок? Все эти KG, LB, OZ?
4. Вставляем туда еще одно условие
elseif (eregi("кг.",$db->f("product_weight_uom")) || eregi("KILO",$db->f("product_weight_uom"))) {
$weight = $db->f("product_weight");
}
5. Сохраняем
Все, теперь должны все наши варианты доставки отобразиться! Ура!
Нет похожих записей.
У меня вопрос: строку с php кодом надо вставлять или заменять?
Добавить еще одно условие.
Спасибо Вам огромное за статью!
Велкам!