Помогите, пожалуйста, решить проблему: мне было необходимо отключить автоматическую отправку письма "Подтверждение заказа" и настроить этот процесс вручную. Отключил закодировав. Подробнее в теме http://wmasteru.org/threads/Оплата-после-подтверждения-заказа.8562/ Настроил созданием отдельного статуса и подключением к нему шаблона письма order_conf. В ходе попыток наладить данный процесс удалял файлы шаблона данного письма с хостинга (из папки mails в корне и из папки mails в теме). Конечно же сохранял копии на компе. Потом запихнул их обратно на хостинг. В результате всех этих манипуляций в шаблоне письма order_conf перестали работать переменные, отвечающие за подстановку данных. А точнее Заказ:201625 Оформлен {date} Способ оплаты:{payment} {products} {discounts} Товары {total_products} Скидки {total_discounts} Подарочная упаковка {total_wrapping} Доставка {total_shipping} Всего НДС {total_tax_paid} Перевозчик:{carrier} Способ оплаты:{payment} {delivery_block_html} {invoice_block_html} При этом некоторые переменные работают. Такие как: {firstname}, {lastname}, {shop_name}, {order_name}, {total_paid}, Шаблон письма не редактировал! Подскажите, пожалуйста, как решить данную проблему? С меня симпатия))
Потому что за отправку писем с изменением статуса заказа и писем с подтверждением отвечают разные части скрипта. При изменении статуса нет таких переменных, это надо переписывать/дописывать код.
Подскажи, пожалуйста, с каким файлом работать? И из какой его части брать инфу и в какую вставлять? Т.е. как решить данную проблему?
Переписываете функцию postProcess в AdminOrdersController чтобы она подхватывала те же переменные в письмах что и функция validateOrder из PaymentModule
Спасибо. А не знаете есть модуль упрощающий данную работу? А то больно много операций для изменения такой простой вещи.
duke1999 помоги, пожалуйста, разобраться что и куда нужно дописать, чтобы функция postProcess в AdminOrdersController подхватывала те же переменные в письмах что и функция validateOrder из PaymentModule. Я нашёл функцию public function postProcess(). Она начинается на строке 450 и заканчивается 1526 строкой. Разделена на: строка 452 - // If id_order is sent, we instanciate a new Order object - // Если id_order отправляется, мы instanciate новыйпорядокобъекта 461 - /* Update shipping number */ - /* Обновление номер отгрузочной накладной */ 512 - /* Changeorderstatus, addanewentryinorderhistoryandsendane-mailtothecustomerifneeded */ - /* Изменить статус заказа, добавить новую запись в историю заказа и отправьте по электронной почте клиенту, если это необходимо */ 562 - /* Addanewmessageforthecurrentorderandsendane-mailtothecustomerifneeded */ - /* Добавить новое сообщение для текущего заказа и отправьте по электронной почте клиенту, если это необходимо */ 648 - /* Partial refund from order */ - /* Частичный возврат из заказа */ 831 - /* Cancel product from order */ - /* Отмена продукта из заказа */ Но, т.к. не разбираюсь в кодах, не могу понять что вообще за что отвечает и как это поменять.
На какое событие конкретно надо поменять? Там разный код посылки для разных писем, к сожалению, к каждому надо по разному приписывать.
Необходимо для отдельно созданного статуса "Подтверждение заказа". Шаблон письма "order_conf". По умолчанию, в Престе письмо "Подтверждение заказа" (заказ Оформлен) отправляется автоматически вместе с письмом (статусом заказа) "В обработке". Благодаря Вам я закодировал данную операцию и теперь отправляю письмо с подтверждением заказа вручную, как и хотел, но многие переменные не работают. Благодарю за помощь!
https://www.dropbox.com/s/h3u76h09z4rbvlb/AdminOrdersController.php?dl=0 Файл положить в папку override/controllers/admin будут доступны в шаблоне все поля, что и в письме о новом заказе из mailalerts
Частично заработало. Не работают самые важные переменные {products} и {discounts}. Я так понимаю этих переменных нет в mailalerts. Вместо {products} там {items}. Попытался в шаблоне письма заменить одно другим - получилось коряво((( А {discounts} видимо вообще ничем не заменить(((
коряво потому что там html таблица рисуется внутри кода и её надо рисовать под конкретный шаблон прямо внутри этой функции. {discounts} нет, есть {total_discounts}
а объясните поподробнее как перерисовать html таблицу внутри кода прямо внутри этой функции. откуда взять параметры таблицы и куда их вставить? я так понимаю, что я должен параметры таблицы {products} скопировать и присвоить {items} ?