Склеивание значений Имя и Адрес

Главные вкладки

Аватар пользователя Andruxa Andruxa 28 ноября 2010 в 16:48

Здравствуйте.

Обратил внимание, что при оформлении заказа значение поля Имя (переменная $order_first_name) попадает в Адрес (переменная $order_shipping_address)
Как это можно побороть?

Комментарии

Аватар пользователя Andruxa Andruxa 28 ноября 2010 в 18:25

Проявляется на странице подтверждения заказа /cart/checkout/review
и в письме покупателю:
В информации о доставке выводится заглавными имя, перевод строки и адрес.
Т.е. если при оформлении было указано "Вася" и "ул.Ленина, д.1", то переменная $order_first_name будет равна "Вася", а переменная $order_shipping_address - "ВАСЯ <br>УЛ.ЛЕНИНА Д.1"

Хотелось бы получить те значения, которые покупатель вводил при оформлении заказа.

Аватар пользователя FORTIS FORTIS 28 ноября 2010 в 23:33

uc_cart_checkout_panes.inc:
#304:
 $review[] = array('title' => t('Address'), 'data' => uc_order_address($arg1, 'delivery', FALSE));

тут uc_order_address склеивает их можете обойтись без нее и дальше на странице review выдирайте их из $panes

Аватар пользователя Andruxa Andruxa 29 ноября 2010 в 1:11

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',TRUE FALSE))

Осталось найти, где формируется адрес для уведомления по e-mail, там по-прежнему идет склейка имени с адресом.

Блин, не могу понять смысл этой багофичи...
Ну да, наверное этикетки на коробки с заказом так печатать удобнее, но нахрена ж это дефолтом прописывать в модулях?

Аватар пользователя FORTIS FORTIS 29 ноября 2010 в 2:18

"Andruxa" wrote:
Осталось найти, где формируется адрес для уведомления по e-mail

адрес от которого отправляются письма? разве не внастройках уберкарта.

если не про это, то поищите в .inc файлах с "ca" в имени - conditional actions

Аватар пользователя Andruxa Andruxa 30 ноября 2010 в 0:14

В уведомлении по e-mail в шаблоне испольовал $order->delivery_street1 вместо $order_shipping_address

чтобы отказаться от правки uc_order.module, прописал в settings.php:
$uc_order_capitalize_addresses = FALSE;

никакой реакции...