Files
2026-09-15 10:35:56 +08:00

30 lines
870 B
PHP

<?php
declare(strict_types=1);
namespace Esun\CustomerMessage\Plugin\Adminhtml;
use Magento\Backend\Model\UrlInterface;
use Magento\Framework\View\LayoutInterface;
use Magento\Sales\Block\Adminhtml\Order\View;
class OrderViewMessagesButton
{
public function __construct(private readonly UrlInterface $url)
{
}
public function beforeSetLayout(View $subject, LayoutInterface $layout): array
{
$order = $subject->getOrder();
if ($order && (int)$order->getCustomerId()) {
$subject->addButton('esun_order_messages', [
'label' => __('Messages'),
'class' => 'esun-order-messages',
'onclick' => "setLocation('" . $this->url->getUrl('esun_customer_message/message/index', ['order_id' => (int)$order->getId()]) . "')",
]);
}
return [$layout];
}
}