我是magento2的初学者,我将尝试检索所有与订单相关的信息,而该信息只想在管理端显示,例如订单的ID,订单状态,商店名称,订单日期,付款方式等。在这里,我尝试获取订单信息,例如订单ID,订单状态,但页面将重定向到主页/仪表板。
我使用产品集合对象获取与产品相关的信息,但如何获取所有订单信息。
我不知道如何使用订单收集对象或订单存储库对象获取订单信息,并且该订单信息显示在magento2的管理端。
这是我的视图或info.phtml文件是:
<?php $_order = $block->getOrder(3);
$orderAdminDate = $block->formatDate(
$block->getOrderAdminDate($_order->getCreatedAt()),
\IntlDateFormatter::MEDIUM, true );
echo 'Order Status = '.$_order->getStatusLabel();
echo 'Order Id = '. $_order->getRealOrderId(); ?>
Run Code Online (Sandbox Code Playgroud)
这是我的Info.php阻止文件是:
class Info extends \Magento\Sales\Block\Adminhtml\Order\AbstractOrder
{
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Sales\Model\Order\Address\Renderer $addressRenderer,
array $data = []
) { $this->addressRenderer = $addressRenderer;
parent::__construct($context, $adminHelper, $data);
}
public function getOrder()
{ return $this->_coreRegistry->registry('current_order'); } }
Run Code Online (Sandbox Code Playgroud) 我尝试进行ajax调用并在控制器中传递下拉值,并在视图文件中获取该特定的相关订单信息.响应成真,但如何在我的视图文件中使用该响应.
这是我的phtml文件:
<select id="chartOption">
<option value="">Select Option</option>
<option value="status">Status</option>
<option value="payments">Payments</option>
<option value="browser">Browser</option>
</select>
<input type="button" name="chart_button" value="Generate chart" onclick="click_chart()">
<div id="result"></div>
<script type="text/javascript">
function click_chart() {
var a = document.getElementById("chartOption");
var abc = a.options[a.selectedIndex].value;
data = jQuery(this).serialize();
jQuery.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: "Blog/Post/Information",
data: "label=" + abc,
success: function (result) { jQuery('#result').html(result); },
error: function (error) { jQuery('#result').html(error); }
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
public function execute() {
if (isset($_REQUEST['ajax'])) {
$label = $this->getRequest()->getPost('label');
$_orders = …Run Code Online (Sandbox Code Playgroud)