Перед использованием этой компоненты создайте поле корзины LOCATION — тип местоположение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?$APPLICATION->IncludeComponent( "bitrix:sale.location.selector.search", "basket", Array( "COMPONENT_TEMPLATE" => ".default", "ID" => '', "CODE" => $_REQUEST['LOCATION'], "INPUT_NAME" => "LOCATION", "PROVIDE_LINK_BY" => "code", //эта настройка отвечает за нули перед "JSCONTROL_GLOBAL_ID" => "", "JS_CALLBACK" => "", "FILTER_BY_SITE" => "Y", "SHOW_DEFAULT_LOCATIONS" => "Y", "CACHE_TYPE" => "N", "CACHE_TIME" => "36000000", "FILTER_SITE_ID" => "s1", "INITIALIZE_BY_GLOBAL_EVENT" => "", "SUPPRESS_ERRORS" => "N" ) );?> |
CODE =>$_REQUEST[‘LOCATION’] — эта строка важная.
если мы его обновляем через аjax — то в теле будет приходить js скрипт. Он должне выполниться такой командой
1 2 3 4 |
$(document).on('click', '.quick-location-tag', function(){ setTimeout(function() { ajaxUpdate(); }, 300); }); |
Несколько полезных ссылок, в котором есть работа с локацией:
работа с локациями — полноценный компонент оформления заказа (самописный)
еще код — тоже есть локации в кастомнок мом
https://phpjs.ru/2018/07/08/bitrix-d7-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0/
Либо