Обратил внимание, что при оформлении заказа значение поля Имя (переменная $order_first_name) попадает в Адрес (переменная $order_shipping_address)
Как это можно побороть?
Проявляется на странице подтверждения заказа /cart/checkout/review
и в письме покупателю:
В информации о доставке выводится заглавными имя, перевод строки и адрес.
Т.е. если при оформлении было указано "Вася" и "ул.Ленина, д.1", то переменная $order_first_name будет равна "Вася", а переменная $order_shipping_address - "ВАСЯ <br>УЛ.ЛЕНИНА Д.1"
Хотелось бы получить те значения, которые покупатель вводил при оформлении заказа.
В uc_cart_checkout_pane.inc в строке 304 заменяю
$review[] = array('title' => t('Address'), 'data' => uc_order_address($arg1, 'delivery', FALSE));
на
$review[] = array('title' => t('Address'), 'data' => $arg1->delivery_street1);
(у меня адрес - это поле street1)
Убираю заглавные в адресе
В uc_order.module
строка 1183: if (variable_get('uc_order_capitalize_addresses',TRUE FALSE))
Осталось найти, где формируется адрес для уведомления по e-mail, там по-прежнему идет склейка имени с адресом.
Блин, не могу понять смысл этой багофичи...
Ну да, наверное этикетки на коробки с заказом так печатать удобнее, но нахрена ж это дефолтом прописывать в модулях?
Комментарии
А как проявляется?
Проявляется на странице подтверждения заказа /cart/checkout/review
и в письме покупателю:
В информации о доставке выводится заглавными имя, перевод строки и адрес.
Т.е. если при оформлении было указано "Вася" и "ул.Ленина, д.1", то переменная $order_first_name будет равна "Вася", а переменная $order_shipping_address - "ВАСЯ <br>УЛ.ЛЕНИНА Д.1"
Хотелось бы получить те значения, которые покупатель вводил при оформлении заказа.
uc_cart_checkout_panes.inc:
#304:
$review[] = array('title' => t('Address'), 'data' => uc_order_address($arg1, 'delivery', FALSE));
тут uc_order_address склеивает их можете обойтись без нее и дальше на странице review выдирайте их из $panes
FORTIS: Спасибо за наводку!
В общем, пока удалось решить так:
Отклеиваю имя от адреса в /cart/checkout/review -
В uc_cart_checkout_pane.inc в строке 304 заменяю
$review[] = array('title' => t('Address'), 'data' => uc_order_address($arg1, 'delivery', FALSE));
на
$review[] = array('title' => t('Address'), 'data' => $arg1->delivery_street1);
(у меня адрес - это поле street1)
Убираю заглавные в адресе
В uc_order.module
строка 1183: if (variable_get('uc_order_capitalize_addresses',
TRUEFALSE))Осталось найти, где формируется адрес для уведомления по e-mail, там по-прежнему идет склейка имени с адресом.
Блин, не могу понять смысл этой багофичи...
Ну да, наверное этикетки на коробки с заказом так печатать удобнее, но нахрена ж это дефолтом прописывать в модулях?
адрес от которого отправляются письма? разве не внастройках уберкарта.
если не про это, то поищите в .inc файлах с "ca" в имени - conditional actions
В уведомлении по e-mail в шаблоне испольовал
$order->delivery_street1
вместо$order_shipping_address
чтобы отказаться от правки uc_order.module, прописал в settings.php:
$uc_order_capitalize_addresses = FALSE;
никакой реакции...
Спасибо за подсказку. Чтобы сработало - нужно прописать вот так:
$conf['uc_order_capitalize_addresses'] = FALSE;