Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как добавить кастомные поля в письмо?


Recommended Posts

Привет всем. Возник такой вопрос. У меня стоит OpenCart 2.1.0.1

При регистрации я использую несколько кастомных полей. Когда человек зарегистрировался, мне как админу приходит уведомление где содержатся такие данные как телефон, имя, фамилия, почта и название моего магазина. Как вывести некоторые кастомные поля которые человек заполнял при регистрации?
 

Нашел вот такой код который отвечает за составление письма которое отсылается админу:
 

// Send to main admin email if new account email is enabled 
if ($this->config->get('config_account_mail')) { 
$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";

Пробовал решить проблему таким способом:

Смотрел в браузере на свои поля через диспетчер (атрибут name) и дописывал в код

$message .= $data['значение_name у поля'] . "\n";

В конечном итоге получалось вот так:

$message .= $this->language->get('text_custom_field') . ' ' . $data['custom_field[account][5]'] . "\n"

Но этот вариант совсем не работает((

 

Далее пробовал следующий вариант:
 

$message .= $this->language->get('text_custom_field') . ' ' . $data['custom_field'] = '' . $this->db->escape(isset($data['custom_field']) json_encode($data['custom_field']) : '') . "\n";

Все по идее заработало, НО!! оно выводит значение поля custom_field в базе и выглядит это следующим образом, а именно:

Text_custom_field: {\"account\":{\"19\":\"Danil\\u0430\\u043f\\u0432\",\"4\":\"ddddddd\\u044b\\u0432\\[email protected]\",\"5\":\"websitename\",\"6\":\"\",\"7\":\"\",\"8\":\"",\"9\":\"",\"1\":\"\",\"2\":\"\"},\"address\":{\"11\":\"4\",\"12\":\"\",\"10\":\"\",\"14\":\"\",\"15\":\"6\",\"16\":\"9\",\"17\":\"\",\"18\":\"\"}}

Как видите мне нужно вывести под цифрой 5, а именно "websitename". Hо оно выводит полностью!(
Я уже не знаю куда копать, может кто подскажет?

Надіслати
Поділитися на інших сайтах


  • собираешь массив имен и аяксом этот массив отправляешь
    data: $('form').serialize();
  •  
    в конороллере принимаешь эти параметры ГЕТ или ПОСТ, в зависимости каким методом ты аяксом данные передаешь
  •  
    Например собрал массив полей name="customer[]" value="1", value="2", value="3"
  •  
    пост запрос отправиться в таком виде
    customer[]=1&customer[]=2&customer[]=3
  •  
    контроллер принимает уже массив
    $this->request->post['customer']
  •  
    дальше полученный массив передаешь в модель или куда-то еще
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.