有人可以帮我在自定义模块的onclick-setLocation中编写orderID参数吗?我正在尝试将 a button with custom URL 添加到管理>销售>订单 - >查看页面 .
请检查下面的代码 . 我只想写我的按钮的onclick功能就像 external_link.php?id=8 .
<?php
namespace Myself\AdminInvoiceColumn\Plugin\Block\Widget\Button;
use Magento\Backend\Block\Widget\Button\Toolbar as ToolbarContext;
use Magento\Framework\View\Element\AbstractBlock;
use Magento\Backend\Block\Widget\Button\ButtonList;
class Toolbar
{
/**
* @param ToolbarContext $toolbar
* @param AbstractBlock $context
* @param ButtonList $buttonList
* @return array
*/
public function beforePushButtons(
ToolbarContext $toolbar,
\Magento\Framework\View\Element\AbstractBlock $context,
\Magento\Backend\Block\Widget\Button\ButtonList $buttonList
) {
if (!$context instanceof \Magento\Sales\Block\Adminhtml\Order\View) {
return [$context, $buttonList];
}
$buttonList->update('order_edit', 'class', 'edit');
$buttonList->update('order_invoice', 'class', 'invoice primary');
$buttonList->update('order_invoice', 'sort_order', (count($buttonList->getItems()) + 1) * 10);
$buttonList->add('order_review',
[
'label' => __('Custom Button'),
'onclick' => 'setLocation(\'/external_link.php?'.$id.'\')',
'class' => 'review'
]
);
return [$context, $buttonList];
}
}
1 回答
在我看来,创建自定义按钮以及添加订单ID以创建自定义URL的最简单和最好的方法是创建
setLayout
插件功能 .首先,您必须在
Custom_Vendor/Custom_Module/etc/adminhtml/di.xml
中声明插件 .然后,扩展
before
函数,如下所示: