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

Не приходит прикрепленный к заказу файл на почту


Recommended Posts

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

Проблема заключается в том, что этот самый файл не прикрепляется к письму о заказе. На хостинг файл закачивается, в админке в заказе тоже отображается (правда в виде названия файла только, т.е. посмотреть его из админки нельзя)
image.thumb.png.ebb13a755c8f0c6b8d07e4c970d8b04d.png

Как сделать так, чтобы файл приходил в письме о заказе? Куда копать?

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


11 минут назад, forque сказал:

Куда копать?

catalog/model/order.php

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

1 час назад, fanatic сказал:

catalog/model/order.php

Большое спасибо за ответ. 

 

А поконкретнее не могли бы дать подсказку что и где нужно внести? Я так понимаю, что помимо этого файла, изменения нужно будет внести еще в несколько. Откровенно, совсем запутался с этой проблемой.

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


  • 4 weeks later...

В файле контроллера: ../catalog/model/checkout/order.php с помощью метода addAttachment если прописать конкретный файл, то вложение приходит. Например:
$mail->addAttachment("123.jpg");
Но вопрос в том, как заставить присылать файл, который клиент закачал во время оформления заказа, т.е. что конкретно прописать в аргументе ($здесь)?
Понимаю, что должны быть данные из таблицы _order, а именно какая-то связь с order_id и custom_field (здесь прописывается зашифрованное имя файла), но как именно это прописать не знаю. Может ли кто-то подсказать как вывести в аргумент значение, чтобы он подхватывал нужный файл из папки upload и прикреплял его к письму?

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


там же есть пример
 

if ($custom_field['type'] == 'file') {
  $upload_info = $this->model_tool_upload->getUploadByCode($order_info['custom_field'][$custom_field['custom_field_id']]);

  if ($upload_info) {
    $data['account_custom_fields'][] = array(
	  'name'  => $custom_field['name'],
	  'value' => $upload_info['name']
    );
  }
}

из $upload_info вам нужно поле filename

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


4 часа назад, thentru сказал:

там же есть пример
 


if ($custom_field['type'] == 'file') {
  $upload_info = $this->model_tool_upload->getUploadByCode($order_info['custom_field'][$custom_field['custom_field_id']]);

  if ($upload_info) {
    $data['account_custom_fields'][] = array(
	  'name'  => $custom_field['name'],
	  'value' => $upload_info['name']
    );
  }
}

из $upload_info вам нужно поле filename

Спасибо за ответ!

 

Попробовал по вашей подсказке сделать. К сожалению, ничего не получилось.

 

В модель order.php вставлял и полный кусок вашего примера + "$mail->addAttachment($upload_info['filename']);" перед $mail->send();. И просто различные варианты аргумента в строке $mail->addAttachment($upload_info['filename']);. Результат один - вложения нет. Ошибок тоже никаких не возникает.

 

Не могли бы вы, пожалуйста, более подробно описать как должна выглядеть строка $mail->addAttachment и нужны ли какие-то дополнительно вносить правки в order.php или другие какие-либо файлы? 

 

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


6 минут назад, forque сказал:

как должна выглядеть строка $mail->addAttachment

наверно,  прописать полный путь к файлу, а не только имя.

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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