feat: moneta 2.0, MONETA.Assistant payment module for PHPShop 6.7+
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* Õóê PHPShopDone::send_to_order(): ïîñëå çàïèñè çàêàçà ïîêàçûâàåò êàðòî÷êó îïëàòû ïî øàáëîíó
|
||||
* `templates/payment_forma.tpl` âìåñòî øòàòíîãî ñîîáùåíèÿ (`orderMesage`). Øàáëîí è ÷àñòè
|
||||
* áëîêà — â cp1251; íà UTF-8-ìàãàçèíå ãîòîâûé áëîê ïåðåêîäèðóåòñÿ îäèí ðàç.
|
||||
*
|
||||
* @param PHPShopDone $obj
|
||||
* @param array<string, mixed> $value $_POST ôîðìû çàêàçà
|
||||
* @param string $rout òî÷êà ïåðåõâàòà: START | MIDDLE | END
|
||||
*/
|
||||
function send_to_order_mod_moneta_hook($obj, $value, $rout)
|
||||
{
|
||||
require_once dirname(__DIR__) . '/class/autoload.php';
|
||||
|
||||
if (($rout !== 'END') || empty($obj->orderId)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if ((int) ($value['order_metod'] ?? 0) !== \MonetaPhpShop\ModuleInfo::PAYMENT_METHOD_ID) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$block = \MonetaPhpShop\host\CheckoutView::create()->afterCheckout((int) $obj->orderId);
|
||||
if ($block->isEmpty()) {
|
||||
$obj->set('orderMesage', '');
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$obj->set('payment_info', $block->getInfo());
|
||||
$obj->set('payment_info_hide', $block->getInfo() === '' ? 'moneta-hide' : '');
|
||||
$obj->set('payment_forma', $block->getForm());
|
||||
$obj->set('moneta_total', $block->getTotal());
|
||||
$obj->set('moneta_total_hide', $block->getTotal() === '' ? 'moneta-hide' : '');
|
||||
$html = ParseTemplateReturn($GLOBALS['SysValue']['templates']['moneta']['moneta_payment_forma'], true);
|
||||
$obj->set('orderMesage', \MonetaPhpShop\host\HostCharset::toPage((string) $html));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$addHandler = [
|
||||
'send_to_order' => 'send_to_order_mod_moneta_hook',
|
||||
];
|
||||
Reference in New Issue
Block a user