Перейти к содержанию
OlehK

Зарегистрирован новый клиент

Рекомендуемые сообщения

Сообщение Зарегистрирован новый клиент

OpenCart Version 2.3.0.2

 

подскажите как правильно преобразовать ID в название

country_id = '" . (int)$data['country_id'] . "', zone_id = '" . (int)$data['zone_id'] . "',

 

с базы

        $this->db->query("INSERT INTO " . DB_PREFIX . "address SET customer_id = '" . (int)$customer_id . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', company = '" . $this->db->escape($data['company']) . "', address_1 = '" . $this->db->escape($data['address_1']) . "', address_2 = '" . $this->db->escape($data['address_2']) . "', city = '" . $this->db->escape($data['city']) . "', postcode = '" . $this->db->escape($data['postcode']) . "', country_id = '" . (int)$data['country_id'] . "', zone_id = '" . (int)$data['zone_id'] . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['address']) ? json_encode($data['custom_field']['address']) : '') . "'");

 

предал на мейл

            $message .= $this->language->get('text_country') . ' ' . $data['country_id'] . "\n";
            $message .= $this->language->get('text_zone') . ' ' . $data['zone_id'] . "\n";


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У клиента есть address_id

Получить информацию по адресу
 

$this->load->model('account/address');
$address_info = $this->model_account_address->getAddress($address_id);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 година назад, thentru сказав:

У клиента есть address_id

Получить информацию по адресу
 


$this->load->model('account/address');
$address_info = $this->model_account_address->getAddress($address_id);

 

а как инфу вставить письмо

$message .= $this->language->get('text_address') . ' ' . $address_info['??????'] . "\n";

Изменено пользователем OlehK

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите пример как форматируется адрес в кабинете покупателя
catalog\controller\account

метод getList начиная со строки $results = $this->model_account_address->getAddresses();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

catalog\controller\account\address.php 

есть

Прихований текст

foreach ($results as $result) {
            if ($result['address_format']) {
                $format = $result['address_format'];
            } else {
                $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
            }

            $find = array(
                '{firstname}',
                '{lastname}',
                '{company}',
                '{address_1}',
                '{address_2}',
                '{city}',
                '{postcode}',
                '{zone}',
                '{zone_code}',
                '{country}'
            );

            $replace = array(
                'firstname' => $result['firstname'],
                'lastname'  => $result['lastname'],
                'company'   => $result['company'],
                'address_1' => $result['address_1'],
                'address_2' => $result['address_2'],
                'city'      => $result['city'],
                'postcode'  => $result['postcode'],
                'zone'      => $result['zone'],
                'zone_code' => $result['zone_code'],
                'country'   => $result['country']
            );

            $data['addresses'][] = array(
                'address_id' => $result['address_id'],
                'address'    => str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))),
                'update'     => $this->url->link('account/address/edit', 'address_id=' . $result['address_id'], true),
                'delete'     => $this->url->link('account/address/delete', 'address_id=' . $result['address_id'], true)
            );
        }

 

как привязать до тела письма  'address'    => str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))),

 

catalog\model\account\customer.php

 

// Send to main admin email if new account email is enabled
        if (in_array('account', (array)$this->config->get('config_mail_alert'))) {
            $message  = $this->language->get('text_signup') . "\n\n";
            $message .= $this->language->get('text_website') . ' ' . html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8') . "\n";
            $message .= $this->language->get('text_firstname') . ' ' . $data['firstname'] . "\n";
            $message .= $this->language->get('text_lastname') . ' ' . $data['lastname'] . "\n";
            $message .= $this->language->get('text_customer_group') . ' ' . $customer_group_info['name'] . "\n";
            $message .= $this->language->get('text_email') . ' '  .  $data['email'] . "\n";
            $message .= $this->language->get('text_telephone') . ' ' . $data['telephone'] . "\n";

Изменено пользователем OlehK

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все привет!

держите решение

 

// Send to main admin email if new account email is enabled
        if (in_array('account', (array)$this->config->get('config_mail_alert'))) {
        
        //select data from country and zone
        $country_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "country` WHERE country_id = '" . (int)$data['country_id'] . "'");
        $country = $country_query->row['name'];
        $zone_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "zone` WHERE zone_id = '" . (int)$data['zone_id'] . "'");
        $zone = $zone_query->row['name'];
        
            $message  = $this->language->get('text_signup') . "\n\n";
            $message .= $this->language->get('text_website') . ' ' . html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8') . "\n";
            $message .= $this->language->get('text_firstname') . ' ' . $data['firstname'] . "\n";
            $message .= $this->language->get('text_lastname') . ' ' . $data['lastname'] . "\n";
            $message .= $this->language->get('text_customer_group') . ' ' . $customer_group_info['name'] . "\n";
            $message .= $this->language->get('text_email') . ' '  .  $data['email'] . "\n";
            $message .= $this->language->get('text_telephone') . ' ' . $data['telephone'] . "\n";
            $message .= $this->language->get('text_country') . ' ' . $country . "\n";
            $message .= $this->language->get('text_zone') . ' ' . $zone . "\n";

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.