Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
gleb-pineparks opened this issue Mar 4, 2024 · 4 comments
Assignees

Comments

@gleb-pineparks
Copy link

Первый момент:
Измените обпащение к "Городу", не всегда он именно "input", у нас например "select", лучше просто по ID брать значение

if ( differentCity ) { city = $('#billing_city').val(); } else { city = $('#billing_city').val(); }

Второй момент:
Отложите обновление страницы оформления до момента как AJAX "saveClientSelectedPoint" закончит работу, например:
mapApi.ajax(request).done(function() { $('body').trigger('update_checkout'); });

Иначе название выбраного ПВЗ сбрасывается на предыдущее значение.

Третий момент:
Добавте возможность какьто групировать или скрывать методы доставки курьером, иначе вылазит огромный список со всеми возможными вариантами...
Можно сделать по примеру как у вас вывот ПВЗ реализован ("Отдельный способ доставки до ПВЗ для каждого тарифа", "Отдельный способ доставки до ПВЗ для каждой СД", "Все ПВЗ на одной карте")

@apiship-team
Copy link

@gleb-pineparks первый и второй момент возьмем на проработку

Третий момент: Добавте возможность какьто групировать или скрывать методы доставки курьером, иначе вылазит огромный список со всеми возможными вариантами..

Это все делается в личном кабинете ApiShip с помощью функционала "Редактор тарифов"

@apiship-team apiship-team self-assigned this Mar 5, 2024
@gleb-pineparks
Copy link
Author

gleb-pineparks commented Mar 11, 2024

Спасибо!

На такой волне, попрошу об ещё о одном добавлении :) Прошу добавить перед "mapApi.ajax(request)", тригер события, напримервот так:
$(document).trigger('apiship.pointOutSelected', [request]);

Назвать событие можете подругомы, это как пример, главное передавать по нему тоже самое что и в ajax идёт :)

У нас к примеру, очень нестандартная страница оформления заказа и нам нужно знать адрес выбранного места ПВЗ, чтобы прописать его в поле адрес.
Да плагин после оформления заказа сочранит адрес ПВЗ, но у нас остаётся старый адрес доставки в поел адрес... Нам будет супер полезно, и никому никак не помешает там :)

@gleb-pineparks
Copy link
Author

gleb-pineparks commented Mar 11, 2024

@apiship-team И ещё одно :)

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

if ( in_array( Options\WP_ApiShip_Options::DELIVERY_TO_POINT_OUT, $tariff->deliveryTypes ) ) {
$elem = '<a href="#" onclick="return false;" ';
$elem .= 'class="wpapiship-delivery-to-point wpapiship-map-start" ';
$elem .= 'data-value="' . $method->get_id() . '" ';
$elem .= 'data-tariff-id="' . $labelTariff . '" ';
$elem .= 'data-point-out-id="' . $pointOutId . '" ';
$elem .= 'data-point-out-name="' . $pointName . '" ';
$elem .= 'data-point-out-address="' . $pointAddress . '" ';
$elem .= 'data-tariff-selected="' . $tariffSelected . '" ';
$elem .= 'data-delivery-type="' .implode(',', $tariff->deliveryTypes) . '" ';
$elem .= 'data-points-list="' .implode(',', $points) . '" ';
$elem .= 'data-tariff-list="' . htmlspecialchars($meta['tariffList']) . '" ';
$elem .= 'data-display-mode="' . $point_display_mode . '" ';
$elem .= 'data-provider-key="' . $providerKey . '">';
$elem .= apply_filters('apiship/mapstart/buttontext', ' (' . $buttonText . ')'); // filter tut :)
$elem .= '';
}

Либо весь $elem обернуть в apply_filters, будет даже лучше :)

Спасибо!

@khalturinsky
Copy link
Contributor

@gleb-pineparks взяли в работу

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants