Files
esun3d/app/code/Esun/VatInvoice/Plugin/Adminhtml/InvoiceViewButton.php
T
2026-09-15 10:35:56 +08:00

34 lines
939 B
PHP

<?php
declare(strict_types=1);
namespace Esun\VatInvoice\Plugin\Adminhtml;
use Magento\Backend\Model\UrlInterface;
use Magento\Framework\View\LayoutInterface;
use Magento\Sales\Block\Adminhtml\Order\Invoice\View;
class InvoiceViewButton
{
public function __construct(private readonly UrlInterface $url)
{
}
public function beforeSetLayout(View $subject, LayoutInterface $layout): array
{
$invoice = $subject->getInvoice();
if ($invoice && $invoice->getId()) {
$url = $this->url->getUrl(
'esun_vatinvoice/invoice/printAction',
['invoice_id' => (int)$invoice->getId()]
);
$subject->addButton('esun_vat_invoice', [
'label' => __('Download VAT Invoice'),
'class' => 'print',
'onclick' => "setLocation('" . $url . "')",
], 0, 95);
}
return [$layout];
}
}