хуйу нас не матерятся
В opencart по умолчанию не предусмотрена отправка телефона и адреса клиента при оформлении заказа. Почему так сделано- загадка. Чтобы не залазить каждый раз в админку, абсолютно все клиенты просят добавить как минимум телефон в письмо о заказе. Opencart отправляет его из файла order.php, находящегося в /catalog/model/checkout, находим код:
$text .= $language->get('text_new_footer') . "";
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
Немного выше этого (ниже нельзя, вылезем за рамки разметки письма) добавляем отправку почты, телефона и адреса клиента:
$text.="email: ".$order_info['email']."";//Отправляем почтовый ящик
$text.="Телефон: ".$order_info['telephone']."";//телефон
$text.="Адрес: ".$order_info['payment_address_1']."";//первую строку адреса
Таких мест в файле два. Первое - для отправки письма на основную почту, а второе - для отправки на дополнительные почтовые ящики.
Если Вам нужна ещё какая-либо информация в письме, то вся она в переменной $order_info. Что бы посмотреть что в ней содержится достаточно написать print_r($order_info) где-нибудь в конце файла и при обновлении страницы получим полный вывод по переменной.
К счастью во второй версии полностью переделано оповещение о заказе. Opencart теперь присылает полную информацию о клиенте.
В дополнение к вышеописанному:
Если Вам нужно убрать информацию о регионе и стране из письма о заказе, то вся она содержится в переменных $order_info['payment_address_format'] и $order_info['shipping_address_format']. Для каждой из них есть правила составления адреса, например:
if ($order_info['payment_address_format']) {
$format = $order_info['payment_address_format'];
} else {
$format = '{firstname} {lastname}' . "
" . '{company}' . "
" . '{address_1}' . "
" . '{address_2}' . "
" . '{city} {postcode}' . "
" . '{zone}' . "
" . '{country}';
}
Чтобы всегда срабатывало своё правило, удаляем условие и оставляем только:
$format = '{firstname} {lastname}' . "
" . '{company}' . "
" . '{address_1}' . "
" . '{address_2}' . "
" . '{city} {postcode}' . "
" . '{zone}' . "
" . '{country}';
И уже в этой строке меняем местами или удаляем метки как душе угодно.
Не буду загадывать, с этим модулем не работал. Теоретически может и из-за него. На чистом опенкарте только что проверил, всё нормально. Отключите этот модуль доставки и попробуйте ещё раз. И кстати какая версия опенкарт?
нет не от него ) отключил модуль доставки. все равно в письмо идет эта информация. может в самом html коде тоже подправить условие?
text_payment_address1
text_shipping_address1
payment_address
shipping_address
Да нет, тут как не крути адреса формируются в каком-либо контроллере, а не шаблоне. Похоже без подробного изучения кода ничем не смогу помочь.
Ок, вечером погляжу.
Развернул всё на http://opencart.allwebstuff.info/, можно позаказывать для теста от туда, письма улетают нормальные. Вывод один- проблема в модуле доставки.
В разделе локализации у стран есть поле "Формат адреса". Может быть оно отвечает за формат адреса в письмах? Если нет, то может знаете где оно используется?
Да, так и есть, это формат адреса в письме. По умолчанию используется следующий формат:
$format = '{firstname} {lastname}' . "
" . '{company}' . "
" . '{address_1}' . "
" . '{address_2}' . "
" . '{city} {postcode}' . "
" . '{zone}' . "
" . '{country}';
При задании формата через админку " " не надо использовать, это всеголишь символ переноса строки.
тогда тут продолжим )
не срабатывает такой вариант. видимо потому что установлен модуль доставки Почта России. я закомментировал лишние строки
но в письме все равно остается регион
http://clip2net.com/s/3ixHti2