Files
esun3d/app/code/Esun/LegacyOrder/Block/Adminhtml/Order/View.php
T
2026-09-15 10:35:56 +08:00

6 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Esun\LegacyOrder\Block\Adminhtml\Order;
use Magento\Backend\Block\Template;use Magento\Framework\App\ResourceConnection;use Magento\Framework\Serialize\Serializer\Json;
class View extends Template {protected $_template='Esun_LegacyOrder::order/view.phtml';private?array$order=null;public function __construct(Template\Context$c,private readonly ResourceConnection$r,private readonly Json$j,array$d=[]){parent::__construct($c,$d);}public function getOrder():array{if($this->order!==null)return$this->order;$db=$this->r->getConnection();return$this->order=$db->fetchRow($db->select()->from($this->r->getTableName('esun_legacy_order'))->where('legacy_order_id=?',(int)$this->getRequest()->getParam('id')))?:[];}public function getItems():array{$o=$this->getOrder();if(!$o)return[];$db=$this->r->getConnection();return$db->fetchAll($db->select()->from($this->r->getTableName('esun_legacy_order_item'))->where('legacy_order_id=?',(int)$o['legacy_order_id'])->order('line_number'));}public function decode(?string$v):array{try{return$v?(array)$this->j->unserialize($v):[];}catch(\Throwable){return[];}}}