我已使用以下代码在管理订单视图中添加了一个按钮。
Plugin.php-
public function beforePushButtons(
\Magento\Backend\Block\Widget\Button\Toolbar\Interceptor $subject,
\Magento\Framework\View\Element\AbstractBlock $context,
\Magento\Backend\Block\Widget\Button\ButtonList $buttonList
) {
$this->_request = $context->getRequest();
if($this->_request->getFullActionName() == 'sales_order_view'){
$buttonList->add(
'send_to_module',
['label' => __('Send To Module'),
'onclick' => 'jQuery.post("phoenix.php");
alert("hello");',
'class' => 'reset'],
-1
);
}
}
di.xml-
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Backend\Block\Widget\Button\Toolbar">
<plugin name="Vendor_Module::plugin" type="Vendor\Module\Plugin\Plugin" />
</type>
当我单击按钮时,警告框显示为“ hello”。但是控件没有转到phoenix.php并显示错误消息-
“服务器的技术问题造成了错误。请重试以继续执行操作。如果问题仍然存在,请稍后重试。”
有什么方法可以通过magento 2中的php文件进行ajax调用吗?我看到了链接和教程,它们告诉您在phtml文件中执行此操作。我不确定如何从phtml文件向管理订单视图添加按钮。