Здравствуйте.
В общем возникла идея связать личный кабинет покупателя с оформлением заказа. А именно, заинтересовал момент подхватывать нужное местоположение при оформлении заказа.
Суть: на странице регистрации и в форму профиля ставим компонент sale.location.selector.search с указанием поля PERSONAL_CITY. То есть при регистрации/редактировании профиля, когда пользователь находит свой город через этот компонент и сохраняет, то ему в поле PERSONAL_CITY (ну или стандартное поле "Город" у всех пользователей в админке) пишется код города. Собственно с этим компонентом проблема не встала - все пишется и сохраняется.
Проблема возникает при оформлении заказа. Логично, что надо определить текущего пользователя, взять его поле PERSONAL_CITY и передать компоненту sale.location.selector.search на странице оформления заказа. Но тут возникла загвоздка. Никак не могу найти, куда передавать этот самый код. В шаблоне компонента sale.order.ajax, в файле props_format.php немного изменяю код, касаемый условия $arProperties["TYPE"] == "LOCATION"
Город прописывается, все норм. Но возникает проблема. Если я ввожу другой какой-нить город в поле и нахожу его, то значение опять сбрасывается до того города, который я подставил изначально. То есть, например, у пользователя в личном кабинете указан город Казань, он подставляется в поле местоположения при заходе на страницу оформления заказа. Но если при оформлении заказа вместо Казани хочу указать, например, Питер, - ввожу, нахожу, выбираю - и в этот момент поле опять сбрасывается на Казань. Я так понимаю, что при изменении поля местоположения происходит перезагрузка страницы - тогда понятно, почему город сбрасывается. Но как тогда изначально прописать город, чтобы сброса не было?
PS Перерыл весь шаблон - не могу найти. Ведь как то же город по-умолчанию прописывается и потом спокойно меняется, без сброса.
В общем возникла идея связать личный кабинет покупателя с оформлением заказа. А именно, заинтересовал момент подхватывать нужное местоположение при оформлении заказа.
Суть: на странице регистрации и в форму профиля ставим компонент sale.location.selector.search с указанием поля PERSONAL_CITY. То есть при регистрации/редактировании профиля, когда пользователь находит свой город через этот компонент и сохраняет, то ему в поле PERSONAL_CITY (ну или стандартное поле "Город" у всех пользователей в админке) пишется код города. Собственно с этим компонентом проблема не встала - все пишется и сохраняется.
Проблема возникает при оформлении заказа. Логично, что надо определить текущего пользователя, взять его поле PERSONAL_CITY и передать компоненту sale.location.selector.search на странице оформления заказа. Но тут возникла загвоздка. Никак не могу найти, куда передавать этот самый код. В шаблоне компонента sale.order.ajax, в файле props_format.php немного изменяю код, касаемый условия $arProperties["TYPE"] == "LOCATION"
Код |
---|
if (is_array($arProperties["VARIANTS"]) && count($arProperties["VARIANTS"]) > 0) { foreach ($arProperties["VARIANTS"] as $arVariant) { if ($arVariant["SELECTED"] == "Y") { //$value = $arVariant["ID"]; //было $value = $city; // то что я подправил, в $city хранится код города break; } } } |
PS Перерыл весь шаблон - не могу найти. Ведь как то же город по-умолчанию прописывается и потом спокойно меняется, без сброса.