Про Отправки (Shipment)

Хотелось бы улучшить:


  1. При создании новой отправки в выпадающем списке “Shipping method” по умолчанию отображается способ доставки, не соответствующий указанному покупателем… Неудобно, можно не обратить внимание и покупателю уйдет мыло с указанием неправильного способа.

    Кроме того в этом списке отображаются все варианты заданные в “shipping methods”, в том числе disabled.


  2. Список “Carrier”. Возможно ли в нем по умолчанию как-то установить доставщика, соответствующего стране покупателя, например если у покупателя в заказе страна доставки = US, то по умолчанию Сarrier = USPS и т.п.


  3. Tracking #. Иногда ошибаемся при вводе. Не предусмотрена возможность редактирования. Понятно, что можно удалить отправку и ввести заново, но имхо удобнее было бы иметь возможность ее отредактировать…



    Заранее спасибо за любые советы

Привет.


  1. Можно сделать.


  2. Они, к сожалению, не связаны с странами.


  3. Можно придумать.



    P.S. Я создам Feature request на 1 и 3 пункты, однако не могу сказать как скоро это будет сделано (функционал не критичный). Поэтому, можно перенести тему в раздел “Сделай сам” и я помогу поправить, исправить, расширить?

[quote name=‘dbazhenov’ timestamp=‘1437417922’ post=‘223658’]

Поэтому, можно перенести тему в раздел “Сделай сам” и я помогу поправить, исправить, расширить?

[/quote]

Да, конечно, давайте так… Я видимо просто не вник в структуру форума и не туда запостил… Можно и эту темку туда же

http://forum.cs-cart.com/topic/41142-полезнаябесполезная-фича-view-purchased-products/



Спасибо

В общем, нужно Вам нужно посмотреть видео по разработке, первые, про контроллеры.



Первых 10 видео должно хватить для необходимой модификации



http://www.youtube.com/playlist?list=PL4okpC0OV7TTa1iFmcPTL-outH4wEMJQW



Это всего 2 часа кино :)



Я конечно могу просто рассказать что и в каких файлах нужно изменить, но лучше если попробуете сами начать. Или рассказать?

Кино посмотрю обязательно, оно всяко пригодится, у меня фантазия буйная, что расковырять всегда найду ))

Но вкратце по этим конкретным пунктам можно и рассказать немного, для лучшего понимания и ускорения процесса, если не сложно конечно ;)

Спасибо.

Я тут активно только после работы могу помогать, поэтому если какой функционал не знаю, то сначала нужно поковырять.


  1. Открываем файл:

    /design/backend/templates/views/shipments/components/new_shipment.tpl



    Находим строчку:

<option value="{$shipping.shipping_id}">{$shipping.shipping}</option>



Заменяем на:

<option {if $order_info.shipping_ids == $shipping.shipping_id}selected="selected"{/if} value="{$shipping.shipping_id}">{$shipping.shipping}</option>



Тоже самое можно сделать модулем, тока оверрайдить шаблон целиком придётся.



Вообще конечно, такое чувство, что там раньше был этот код, но его грубо вырезали.



Пока можно поправить и в блокнот записать.



Что сделали:

  1. Нашли шаблон, методом волшебной удачи и перебора.
  2. Нашли кусок
  3. Добавили проверку.

[quote]Я тут активно только после работы могу помогать[/quote]

Низкий тебе поклон, человек. Торжественно обещаю посмотреть все ваши киношки ))) и делать такие незначительные изменения самостоятельно.

Все получилось…

[quote]Вообще конечно, такое чувство, что там раньше был этот код[/quote]

Вообще да, в админке одного товарища, который и сподвиг меня к cs-cart я видел это несколько в другом виде… Там не было добавления шипментов как таковых, но было поле ввода номера для отслеживания и выбор доставщика прямо на странице заказа непосредственно… Мож это старая версия была или русская локализация, не знаю.

[quote name='YurkaTim' timestamp='1437590818' post='224008']

Вообще да, в админке одного товарища, который и сподвиг меня к cs-cart я видел это несколько в другом виде… Там не было добавления шипментов как таковых, но было поле ввода номера для отслеживания и выбор доставщика прямо на странице заказа непосредственно… Мож это старая версия была или русская локализация, не знаю.

[/quote]



Есть настройка:

Настройки → Общие → Разрешить разделение заказа на несколько отгрузок.



Тогда только номер вводить, если выключена.



Чтобы менять номер отслеживания, потребуется:

  1. Сделать небольшую формочку.
  2. Обработать формочку контроллером.



    Как это сделать, смогу рассказать только на следующей неделе.

[quote name=‘dbazhenov’ timestamp=‘1437825474’ post=‘224276’]

Есть настройка:

Настройки → Общие → Разрешить разделение заказа на несколько отгрузок.

[/quote]

надо же, как это я ее не заметил )) Действительно есть… и в таком виде номер для отслеживания редактируется на стр. заказа… Спасибо, Даниил. Теперь даже не знаю как лучше, бывает, что заказ дробится на несколько отправок, но это достаточно редкое явление у меня.



Но тут возникают вопросы другого рода… немного оффтоп тут будет, но всеж спрошу.

Вот эти вот чекбоксы уведомлений покупателя и отдела отправки и аналогичные в статусах заказов…

Их совместная логика работы это какой-то ад )) Похоже, в приоритете именно те, которые в выпадающем меню изменения статуса заказа, и которые по умолчанию всегда вкл. Таким образом, как не ставь что-то непосредственно в статусах, это игнорируется… и работает только то, что выставляется в этом выпадающем меню. Кроме того их нужно постоянно контролировать ибо они в этом меню общие на все статусы но совершенно ни к чему отправлять покупателю сообщение при каждой смене статуса заказа… а это можно просто случайно упустить. Поэтому я их вырубил в шаблоне и сделал unchecked, а в создании шипмента поставил checked… Теперь если шипментами не пользоваться то при смене статуса на отправленный на странице заказа придется взводить этот бокс в меню… опять лишние движения…

Ну и само сообщение там другое, с инвойсом…

Понятно, что шаблоны сообщений можно перелопатить но все же… это уже вообще отдельный вопрос… Каша какая-то в общем с этими боксами… Я может что-то неправильно понимаю, объясните плз.



Имхо, было бы очень здорово эти чекбоксы в меню по умолчанию выставлять в соответствии с теми, которые стоят в настройках статусов заказов. Как ?



Картинки:

[attachment=9947:menu_chk.JPG][attachment=9948:menu_chk2.JPG][attachment=9949:status_chk.JPG]

menu_chk.JPG

menu_chk2.JPG

status_chk.JPG

ЗЫ: Хотя они же в меню общие, не получится их выставлять как в настройках статусов… если только для каждого пару чекбоксов лепить. (

ЗЫЫ: Короче, лучше бы от них вообще избавиться и подчинить логику работы уведомлений при смене статуса, той что установлена в настройках статусов заказав.

[quote name='YurkaTim' timestamp='1437847392' post='224304']

ЗЫЫ: Короче, лучше бы от них вообще избавиться и подчинить логику работы уведомлений при смене статуса, той что установлена в настройках статусов заказав.

[/quote]



Не соглашусь, очень часто не нужно уведомлять клиента или отдел продаж о смене статуса.

Решение простое для вас.

Добавить 3-й чек бокс, выключенный по умолчанию.

Если он выключен, правила статусов, если включен правила галочек выше, вот и все.

[quote name='z3r0' timestamp='1437848122' post='224306']

очень часто не нужно уведомлять клиента или отдел продаж о смене статуса.

[/quote]

Ну так и я о том же, поэтому и вырубил их по умолчанию ))


[quote]Если он выключен, правила статусов, если включен правила галочек выше, вот и все.[/quote]

ну, можно и так, лишь бы еще сложнее не вышло, чем больше опций тем больше путаницы… мне кажется установок в настройках статусов достаточно…

Эти чекбоксы не связаны с настройками статусов. Настройки статусов для автоматических переключений статусов. Уведомление при ручном переключении статусов управляется галочками.



Галку снять или поставить не долго → экономия не спичках.



Уверен у вас есть намного более трудозатратные действия.

Даниил, так дело не в трудозатратах на установку галочек, а в том, что на них не обращаешь внимания, а просто переключаешь статус и ожидаешь логичного действия со стороны движка, в соответствии с установками… В данном случае, когда статус меняется на “Отправлен”, мыло должно уйти покупателю. При остальных статусах по-разному… Поставить галочки не трудно, трудно каждый раз следить за ними при смене статуса.

Если уж совсем по-нормальному, то отправкой подобных уведомлений дожен заниматься cron с определенной периодичностью… и пока он не отработал, меняй статусы себе хоть левой хоть правой сколько угодно раз ))

[quote name=‘YurkaTim’ timestamp=‘1437851572’ post=‘224311’]

Даниил, так дело не в трудозатратах на установку галочек, а в том, что на них не обращаешь внимания, а просто переключаешь статус и ожидаешь логичного действия со стороны движка, в соответствии с установками… В данном случае, когда статус меняется на “Отправлен”, мыло должно уйти покупателю. При остальных статусах по-разному… Поставить галочки не трудно, трудно каждый раз следить за ними при смене статуса.

Если уж совсем по-нормальному, то отправкой подобных уведомлений дожен заниматься cron с определенной периодичностью… и пока он не отработал, меняй статусы себе хоть левой хоть правой сколько угодно раз ))

[/quote]



Отправить письмо не сложно, поэтому крон здесь не нужен.



Можно найти функцию, которая принимает галочки и там заменить на настройки. Это просто, правда тогда галочки навсегда перестанут работать, и в случае ошибок в переключении статусов, будут уходить лишние уведомления, так как переключить статус без уведомления не получится.



Уведомляйте всегда :) Информация никогда не бывает лишней :) Или у Вас 15 статусов, половина из который внутренние “Коробку потеряли” , “Товара нет, что делать” :)

[quote name='dbazhenov' timestamp='1437889427' post='224321']

, и в случае ошибок в переключении статусов, будут уходить лишние уведомления

[/quote]

так именно так и происходит когда галочки всегда вкл., (стандартная конфигурация cs cart)…

Ладно, это все теоретические разговоры о вкусе и цвете. Надо откатать это в реальных условиях. У меня просто 10 лет магаз успешно работал на движке, который я кое как на коленках сам наковырял для себя давно давно и с тех пор не трогал )))… Там все было просто с этим, минимум под свои нужды. … автоматическое уведомление когда заказ получен и второе когда введен номер для отслеживания. от смены статусов не зависело.

Но все это жутко устарело и захотелось красоты, мощи и гибкости… ) Поэтому вот ковыряю cs cart. Видимо от разнообразия функционала глаза разбегаются и некоторая избыточность и непредсказуемость раздражает…



Пока пожалуй остановлюсь на варианте с выключенными галочками и раздельными отправками…

Но хочется это все ж как-то усовершенствовать… Вывести например номера отслеживания на страницу заказа… сделать со ссылками на сайты доставщиков (как в уведомлениях)… И Pop-up на редактирование, аналогичный тому что и при создании шипмента…

Опчем, надо попробовать запилить модуль по учебнику )

[quote name='YurkaTim' timestamp='1437902018' post='224329']

Но хочется это все ж как-то усовершенствовать… Вывести например номера отслеживания на страницу заказа… сделать со ссылками на сайты доставщиков (как в уведомлениях)…

[/quote]



Так сейчас и есть , если перевозчик выбран. Номер является ссылкой на страницу отслеживания.

Да, в уведомлении так и есть… а я про страницу заказа в админке…

[quote name='YurkaTim' timestamp='1437903567' post='224332']

Да, в уведомлении так и есть… а я про страницу заказа в админке…

[/quote]



Это не сложно расширить, напишу на днях, пока сильно занят, да и думаю Вы сами сможете, так как в клиентской зоне есть пример.