Страница 1 из 1

Вставка переменных оплаты в шаблон письма при заказе, вопрос ?

Добавлено: 12.03.2018, 10:35
mihalanius
Сразу прошу прощения у администратора форума, но у меня мало знаний и потому спрашиваю у знающих людей.
Вопрос вот в чем:
Модули оплаты стандартные в движке не нужны, все платежи по разным системам будут в ручном режиме,
Редактирование способов оплаты сделал: там указаны номера кошельков куда человеку надо оплатить, но я хочу вставить тотже самый текст в шаблон пиьсма которое после оформления улетает к клиенту, чтобы он не метался и на почтке у него сразу уже были реквизиты для оплаты.
Подскажите какая переменная отвечает за текст оплаты в форме Детали оплаты:
из какого файла взять код переменной ?
чтобы можно было вставить код в шаблон письма и все, просто текст разны у способов на яндекс киви карту и др.
прицепляю картинку чтоб понятно было. Заранее всем спасибо!

Добавлено: 12.03.2018, 14:39
OkayCMS
Судя по скрину, у вас ещё первая версия OkayCMS, там файл отвечающий за верстку письма находится по адресу design/okay_shop/html/email_order.tpl

Добавлено: 12.03.2018, 15:29
mihalanius
OkayCMS писал(а):Судя по скрину, у вас ещё первая версия OkayCMS, там файл отвечающий за верстку письма находится по адресу design/okay_shop/html/email_order.tpl
Да я остановился на этой версии - так как в новых не работает много чего - хотя должно и что тому причиной неизвестно - старые версии отлично работают! Спасибо за интересый продукт, очень интересно с ним время проводить ))
email_order.tpl - да я знаю про этот файлик - просто хотел вставить в него код (переменную ) которая выводит текст в Детали оплаты:
хочу вставить этот же текст чтоб он в письме был - но не могу найти какой код вставить в email_order.tpl
Делал по принципу исключений логики - так как не спец.
1. в переводах нашел - значение Детали оплаты: - order_payment_details
стал искать код с этим названием в файле order.tpl
чтобы вставить его в email_order.tpl - пока не вышло - что то не так делаю. ))

я нашел это {$lang->order_payment_details}
и попытался вставить в email_order.tpl

Добавлено: 12.03.2018, 21:41
sergeevizh
Было бы неплохо, конечно, выводить не только описание выбранного способа оплаты в тело письма клиенту.
Но и саму кнопку чтобы клиент мог не возвращаясь на сайт нажав на кнопку пройти процедуру оплаты.

Добавлено: 12.04.2021, 02:27
Vanger
Да, было бы неплохо выводить инфо в письме (клиенту и админу) о выбранном способе оплаты и доставки
доставка выводится через {$delivery->name|escape}, а вот оплата перепробовал разные варианты - пока никак (видимо надо еще доработка в других файлах - Notify.php)
/backend/design/html/email/email_order_admin.tpl
/design/okay_shop/html/email/email_order.tpl

Добавлено: 25.04.2021, 15:11
BRN
Чтобы вывести в письме информацию об оплате нужно в шаблон email_order.tpl передать переменную с этими данными.
Для этого нужно в файл Okay/Core/Notify.php добавить несколько строк.
Открываем файл и после строки

Код: Выделить всё

namespace Okay\Core;

вставляем строку

Код: Выделить всё

use Okay\Entities\PaymentsEntity;

после строк

Код: Выделить всё

/** @var CurrenciesEntity $currenciesEntity */
$currenciesEntity = $this->entityFactory->get(CurrenciesEntity::class);

вставляем

Код: Выделить всё

/** @var PaymentsEntity $paymentsEntity */
$paymentsEntity = $this->entityFactory->get(PaymentsEntity::class);

после строк

Код: Выделить всё

// Способ доставки
$delivery = $deliveriesEntity->get($order->delivery_id);
$this->design->assign('delivery', $delivery);

вставляем

Код: Выделить всё

// Способ оплаты
$payment_method = $paymentsEntity->get((int)$order->payment_method_id);
$this->design->assign('payment_method', $payment_method);

Сохраняем файл. Теперь в шаблоне email_order.tpl доступны переменные {$payment_method->description} и {$payment_method->name}
Однако у меня возник другой вопрос, при обновлении cms файл Notify.php может быть перезаписан и данные правки исчезнут, есть ли способ вносить изменения в системные файлы другим способом?

Добавлено: 16.05.2021, 22:15
nyc-xp
BRN писал(а):Чтобы вывести в письме информацию об оплате нужно в шаблон email_order.tpl передать переменную с этими данными.
Для этого нужно в файл Okay/Core/Notify.php добавить несколько строк.
Открываем файл и после строки

Код: Выделить всё

namespace Okay\Core;

вставляем строку

Код: Выделить всё

use Okay\Entities\PaymentsEntity;

после строк

Код: Выделить всё

/** @var CurrenciesEntity $currenciesEntity */
$currenciesEntity = $this->entityFactory->get(CurrenciesEntity::class);

вставляем

Код: Выделить всё

/** @var PaymentsEntity $paymentsEntity */
$paymentsEntity = $this->entityFactory->get(PaymentsEntity::class);

после строк

Код: Выделить всё

// Способ доставки
$delivery = $deliveriesEntity->get($order->delivery_id);
$this->design->assign('delivery', $delivery);

вставляем

Код: Выделить всё

// Способ оплаты
$payment_method = $paymentsEntity->get((int)$order->payment_method_id);
$this->design->assign('payment_method', $payment_method);

Сохраняем файл. Теперь в шаблоне email_order.tpl доступны переменные {$payment_method->description} и {$payment_method->name}
Однако у меня возник другой вопрос, при обновлении cms файл Notify.php может быть перезаписан и данные правки исчезнут, есть ли способ вносить изменения в системные файлы другим способом?

На v.4.0.3 работает! Спасибо Вам!

Добавлено: 19.05.2021, 13:46
zyxer
Добавил это в будущую версию окая