Решил оставить заметку о том как сделать ссылку на оплату заказа в E-mail письме на Diafan CMS, так как из "коробки" данная функция почему-то отсутствует.
Изначально совершая заказ на движке Diafan пользователь фактически может перейти к оплате лишь один раз, в момент совершения заказа. Если закрыл страницу (случайно) — то попался. В личном кабинете присутствуют ссылки на оплату, но в ряде случаев они не работают, особенно если заказ оформлен без регистрации.
Чтобы сделать ссылку на оплату заказа в E-mail сообщении, потребуется открыть файл /modules/cart/views/cart.view.table_mail.php и в самом конце добавить:
$pay = DB::query_fetch_array("SELECT payment_id, id, code FROM {payment_history} WHERE module_name='cart' AND element_id=%d", $row['id']); if ($pay["payment_id"] == '4' or $pay["payment_id"] == '5') { $cart_rewrite = DB::query_result("SELECT r.rewrite FROM {rewrite} AS r INNER JOIN {site} AS s ON s.id=r.element_id AND s.module_name='cart' WHERE r.element_type='element' AND r.module_name='site'"); echo '<div> </div><div><a href="'.BASE_PATH.$cart_rewrite.'/step2/show'.$row['id'].ROUTE_END.'?code='.$pay["code"].'" style="background: #397cd3; color: #fff!important; display: inline-block; padding: 15px 25px; font-size: 14px; margin: 10px -10px 10px 10px!important;" target="_blank">'.$this->diafan->_('Перейти к оплате заказа').'</a></div>'; }
Стили я вписал руками, можно их перевести в класс и добавить CSS, но т.к. это E-mail, то проще напрямую вписать. Оформление в данном случае особой роли не играет. Кнопку можем называть как угодно, ведь самое главное, что теперь пользователь в любой момент может вернуться к оплате своего заказа по ссылке из E-mail письма.