Вот подошел к вопросу настойки стоимости доставки. Имеющиеся модули слишком дубовые, есть ли более гибкие? Мне нужно "внедрить" вот такой прайс лист:
http://www.alemtat.kz/kazservices.html
Или придецца создавать самому?
Вот подошел к вопросу настойки стоимости доставки. Имеющиеся модули слишком дубовые, есть ли более гибкие? Мне нужно "внедрить" вот такой прайс лист:
http://www.alemtat.kz/kazservices.html
Или придецца создавать самому?
Комментарии
А какие из "дубовых модулей" вы пользовали и не смогли настроить?
ну там по доставке встроены uc_shipping, uc_weight_quote, uc_quote, uc_flat_rate. вот их. Может конечно их можно настроить, только например в модуле uc_weight_quote вводится начальная цена за один кило например, и сумма за дополнительный килограмм. это дубово uc_flat_rate - это насколько я понял, процент от стоимости товара. тож не нужно вообще.
В двух словах могу сказать что это можно попробовать настроить через workflow_ng т.е. вы пересекаете шкалу доставок flat_rate с модулем workflow_ng (как-то так) или же:
http://www.ubercart.org/contrib?filter0=**ALL**&filter1=29&filter2=**ALL**
вот тут посмотрите, при желании можно чего нибудь и своего наваять. )))
Я на каком то магазине по моему вообще это решал только одним flate_rate но там была немного иная шкала.
В вашем варианте все ломает + за каждый последующий килограмм, вы ж до 5-ти тонн не будете руками прописывать ))). Поэтому наверное придется и покодить чутка.
спасибо посмотрю предложенные модули, потом отпишусь
пробую предложенную связку Flatrate + workflow. при вычислении стоимости доставки можно выполнить custom PHP-код. Как я понял, там можно взять вес заказуемого товара, и вычислить какую надо стоимость доставки. Вот только как достать этот вес и в каком виде должен выглядеть этот код не пойму. Подскажите пожалуйста, или хотя бы дайте пример. спсб
Вес товара можно достать скл запросом или надо смотреть в какой он переменной? Вообще вариантов много, вплоть до написания своего функционала. Пример если бы был то поделился.
Но что-то мне подсказывает что вы не до конца просмотрели воркфлоу там если мне не изменяет память shipping прописывает событие Check an order's total weight т.е. вес всего заказа к которому в зависимости от его размера можно прицепить свою цену. В вашем варианте надо создавать под каждую градацию веса свое правило и все т.е. у вас их может быть например 10 или 20 )).
ага нашел вроде, это жесть, придется кучу правил создать. Зато будет конфетка. Сделаю - отпишусь.
итак, нашел проверку веса. Condition создал, например если весменьше какото числа данный кондишн вернет тру. а как добавить акшн? просто выполнить дополнительный код PHP? там проверить кондишн (как?) и каким-то образом прицепить цену (тож не очень понятно)?
А модуль Action у Вас установлен? Если да то в workflow_ng при создании правила вверху сондишн а внизу появляется action
так, начинаю потихоньку соображать если condition возвращает тру, то выполняется Action. Значит нужно только сообразить, что выполнить в акшне.
да, акшн есть.
упс, модуля то и нет такого. счас буду ставить )))
установил модуль акшнс. все так же осталось ))
короче вверху есть кондишнс. там я проверяю вес. например если вес больше одного кило, то кондишн возвращает тру. насколько я понял, в этом случае выполняются действия определенные ниже. то есть надо теперь создать акшн, котрый прицепит стоимость. как?! добавляю акшн, но дальше ступор.
вообщем есть прогресс. делаю акшн "Установить стоимость доставки". Перед ним выполняю дополнительный PHP код:
db_query("UPDATE {uc_flatrate_methods} SET base_rate = Нужная стоимость");
теперь вот в чем проблема. с помощью модуля Flat_rate я содал 2 метода: доставка авиатранспортом и доставка жд транспортом. и в результате у обоих методов одна и та же присвоенная стоимость. вообще сделано это конечно не красиво и по шамански, но по другому не смог. теперь вопрос, как отличить данные методы?
УРА. В запрос добавил WHERE title='Доставка авиатранспортом' и все стало норм.
Спасибы!
не, это всё же не вариант. потому что прибольшом количестве пользователей начнется путаница и куча глюков, ведь БД то общая. пока сделал простенькую весовую оценку, но надо все таки решить данный вопрос.
тупо изменил код модуля uc_weightquote. там просто в зависимости от веса прицепил цену. нехорошо в принципе, но работает. пока буду этим пользоваться.