точно, заработало. Спасибо Даниил.
Даниил, еще несколько вопросов:
- в последнем видео про службы доставки вскользь идет упоминание про функцию fn_calculate_total_shipping_cost
в yandex.js - где её найти?
- Вы в видео кратко сказали про режим _allow_multithreading, мол можно отправить запрос в спср, в сдек и т.д., а потом собрать за раз их ответы. Но как это сделать не рассказали или я не допонял
- В общем-то главный вопрос, из-за чего начался весь этот сыр-бор.
В городе есть несколько пунктов самовывоза от разных ТК (в Москве от 3), по России есть и от BoxBerry и от TopDelivery, к примеру.
У каждой ТК своя цена и своя зависимость этой цены от веса.
Как такие зависимости реализовать?
Смотрю pickup.php. Там есть функция _checkStoreCost, которая служит для получения надбавки по стоимости только выбранного ПВЗ или всех ПВЗ в выбранном городе?
Правильно ли будет в этой функции тогда обращаться по API в ТК и получать стоимость доставки?
А если выбрать режим отображения и карты и ПВЗ, то надо как-то показывать эту самую разную стоимость для каждого ПВЗ, где (файлик) её получить, в какой момент?
[quote name='densvi' timestamp='1437080927' post='223271']
Даниил, еще несколько вопросов:
- в последнем видео про службы доставки вскользь идет упоминание про функцию fn_calculate_total_shipping_cost
в yandex.js - где её найти?
- Вы в видео кратко сказали про режим _allow_multithreading, мол можно отправить запрос в спср, в сдек и т.д., а потом собрать за раз их ответы. Но как это сделать не рассказали или я не допонял
- В общем-то главный вопрос, из-за чего начался весь этот сыр-бор.
В городе есть несколько пунктов самовывоза от разных ТК (в Москве от 3), по России есть и от BoxBerry и от TopDelivery, к примеру.
У каждой ТК своя цена и своя зависимость этой цены от веса.
Как такие зависимости реализовать?
Смотрю pickup.php. Там есть функция _checkStoreCost, которая служит для получения надбавки по стоимости только выбранного ПВЗ или всех ПВЗ в выбранном городе?
Правильно ли будет в этой функции тогда обращаться по API в ТК и получать стоимость доставки?
А если выбрать режим отображения и карты и ПВЗ, то надо как-то показывать эту самую разную стоимость для каждого ПВЗ, где (файлик) её получить, в какой момент?
[/quote]
- Поиском, возможно её уже заменили на что то другое.
- Это функционал ядра, каждая служба должна быть оформлена отдельным шипингом. Ваши эксперименты тут не помогут.
- Изучите как работает самовывоз, это маленький модуль, там мало файлов.
[quote]Правильно ли будет в этой функции тогда обращаться по API в ТК и получать стоимость доставки?[/quote]
Других вариантов то нету
[quote]У каждой ТК своя цена и своя зависимость этой цены от веса.
Как такие зависимости реализовать?[/quote]
Отправить цену и вес, получить стоимость.
[quote]А если выбрать режим отображения и карты и ПВЗ, то надо как-то показывать эту самую разную стоимость для каждого ПВЗ, где (файлик) её получить, в какой момент? [/quote]
в модуле “Самовывоз” для каждого пункта есть стоимость, однако там не реализованы зависимости.
P.S. То что Вы хотите сделать, пытались сделать eDost, shipla, multiship и другие агрегаторы. Идеально ни у кого не получилось, несмотря на работу целых команд и немалых бюджетов. Нужно выбирать меньшее из зол. Вы хотите разработать своего агрегатора.
Даниил, спасибо за ответы.
Могли бы уточнить:
- как оформить каждую службу отдельным шипингом?
- [color=#282828][font=arial, verdana, tahoma, sans-serif][size=3]_checkStoreCost - [/size][/font][/color]работает только на выбранный ПВЗ? Как тогда получается стоимость доставки по всем ПВЗ?
P.S. Не думал, что я хочу сделать, что-то космическое. Реализовать ведь можно все что угодно, вопрос архитектуры.
У меня простое нормальное желание, как хозяина магазина, так и покупателя. Когда я выбираю самовывоз в своем городе, то хочу видеть все пункты списком (картой) с ценой и сроками доставки. Всё! Просто ведь? Не так ли.
А не выбирать ТК, которой везти, мне фиолетово, как покупателю, какой ТК повезет магазин. и не хочется тыкать в несколько мест или звонить по тел. и узнавать стоимость доставки.
Разве многого хочется? Вроде нет, это естественное желание.
В сегодняшней ситуации придется либо усреднять стоимость доставки (а это чревато работой в минус на больших заказах, и не факт, что этот минус перебьется работой в плюс от маленьких заказов) , либо отказываться от нескольких ТК (а это ограничение и не удобство для покупателей), либо убрать весь этот функционал по расчету доставок. Вообщем - не красиво получится.
- Это есть в видео на примере EMS.
- В базе данных у всех ПВЗ есть поле “Надбавка к стоимости” которая прибавляется к той стоимости которая задана в настройках способа доставки. Я рассказываю об этом в видео.
[quote]P.S. Не думал, что я хочу сделать, что-то космическое. Реализовать ведь можно все что угодно, вопрос архитектуры.[/quote]
Вы до сих пор не поняли, что у каждой ТК своя архитектура и не так просто причесать всех к одному формату.
Даже у агрегаторов служб доставок не всегда получается это сделать. Был такой проект MultiShip , помните? Знаете? Они сделали такой функционал как вы хотите и то не по всем доставкам и не на 100% . Их потом Яндекс за миллион долларов купил
[quote name='dbazhenov' timestamp='1437129999' post='223346']
Вы до сих пор не поняли, что у каждой ТК своя архитектура и не так просто причесать всех к одному формату.
[/quote]
Что у них у всех своя архитектура разной степени кривизны, в этом я даже не сомневался. Я просто не понимаю, почему нельзя реализовать то, что я хочу, когда для это есть все данные. Да, я многого не понимаю в архитектуре CS-Cart, здесь именно дело в CS-cart. Например, не понимаю, как можно средствами cs-cart при отображении пунктов самовывоза после их получения в processResponse отобразить стоимость доставки? Подразумеваю, что нужно обратиться по API к соответствующей ТК либо в _checkStoreCost, либо непосредственно в processResponse. Буду это пробовать.
[quote name=‘dbazhenov’ timestamp=‘1437129999’ post=‘223346’]
Даже у агрегаторов служб доставок не всегда получается это сделать. Был такой проект MultiShip , помните? Знаете? Они сделали такой функционал как вы хотите и то не по всем доставкам и не на 100% . Их потом Яндекс за миллион долларов купил
[/quote]
Да, знаю. Ну я за миллион долларов не продамся конечно, но половину …
В общем, понял, что ничего не понял. Буду себе копаться дальше …
[quote name='densvi' timestamp='1437132205' post='223353']
Например, не понимаю, как можно средствами cs-cart при отображении пунктов самовывоза после их получения в processResponse отобразить стоимость доставки? Подразумеваю, что нужно обратиться по API к соответствующей ТК либо в _checkStoreCost, либо непосредственно в processResponse. Буду это пробовать.
[/quote]
В видео это есть.
нужно вернуть cost
<br />
$pickup_surcharge = $this->_checkStoreCost($stores);<br />
$return['cost'] = $pickup_surcharge;
Ну и конечно есть ещё func.php где через хуки делаются циклы по корзине и добавляются данные о пунктах.
<br />
function fn_rus_pickup_calculate_cart_taxes_pre(&$cart, $cart_products, &$product_groups)<br />
{
Пробую как раз в этом месте вернуть cost. Видео помогают. Спасибо
Какая то функция в контроллере получает стоимость и передаёт её на отображение.
Сколько способов перехватить и изменить что то вы знаете?
Просто вы начали лениться и не хотите изучить процесс
Даниил, а почему вы решили, что я начал лениться? <Дальше шли 33 строки оправдания, но решил это удалить, т.к. не зачем это.> Но поверьте, что на лень у меня времени просто нет.
Я ковыряюсь, изучаю, может не так быстро как хотелось бы, но все же …
[quote name=‘densvi’ timestamp=‘1437135934’ post=‘223372’]
Даниил, а почему вы решили, что я начал лениться? <Дальше шли 33 строки оправдания, но решил это удалить, т.к. не зачем это.> Но поверьте, что на лень у меня времени просто нет.
Я ковыряюсь, изучаю, может не так быстро как хотелось бы, но все же …
[/quote]
Быстро не получится.
Просто наступит момент когда вы будете читать код как книгу, вы уже начинаете это делать, только пока читаете медленно. Потом будете читать быстрее, будете ориентироваться в главах, какие то запомните.
Мы с Вами уже в той стадии взаимодействия, когда я читаю вам книгу в слух, хотя вы уже умеете читать и можете делать это сами.
Дело в том, что раньше вы задавали вопросы которые требуют помощи, сейчас ваши вопросы уже не требуют помощи, а требуют просто одобрения. Одобряю Любой вариант
Недавно тоже самое я написал ещё одному человеку. Он тоже разобрался в системе и начал пилить модули и тоже стал задавать сложные вопросы, которые нужно решать самому.
И таки сделал то, что хотел! Скромное ура. Даниил, спасибо.
Где там Яндекс с его миллионом …
[quote name=‘densvi’ timestamp=‘1437509810’ post=‘223823’]
И таки сделал то, что хотел! Скромное ура. Даниил, спасибо.
Где там Яндекс с его миллионом …
[/quote]
Теперь всё будет по другому
[quote name=‘densvi’ timestamp=‘1437509810’ post=‘223823’]
И таки сделал то, что хотел! Скромное ура. Даниил, спасибо.
Где там Яндекс с его миллионом …
[/quote]
теперь только МаркетПлейс =}