我在parentOrderController中修改了reorder的一部分,创建了一个变量。现在我想把这个变量传递给order-payment.tpl,这样我就可以用它来检查一个条件。有人能帮帮我吗?
ParentOrderContoller.php(已添加部件)
if (Tools::isSubmit('submitPay') && $id_order = (int)Tools::getValue('id_order')) {
//To check the order is in print ready state
$order = new Order((int)$id_order);
$current_order_state = $order->getCurrentOrderState();
$current_order_state_id = $current_order_state->id;
//ends here
//d($current_order_state_id);
// $this->context->cookie->current_order_state_id = $current_order_state->id;
$oldCart = new Cart(Order::getCartIdStatic($id_order, $this->context->customer->id));
$duplication = $oldCart->duplicate();
if (!$duplication || !Validate::isLoadedObject($duplication['cart'])) {
$this->errors[] = Tools::displayError('Sorry. We cannot renew your order.');
} elseif (!$duplication['success']) {
$this->errors[] = Tools::displayError('Some items are no longer available, and we are unable to renew your order.');
} else {
$this->context->cookie->id_cart = $duplication['cart']->id;
$context = $this->context;
$context->cart = $duplication['cart'];
CartRule::autoAddToCart($context);
$this->context->cookie->write();
d(Configuration::get('PS_ORDER_PROCESS_TYPE'));
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 1) {
Tools::redirect('index.php?controller=order-opc');
}
Tools::redirect('index.php?controller=order');
}
}我希望将$current_order_state_id传递给order-payment.tpl。该怎么做呢?
发布于 2017-08-04 16:51:35
你应该能够做到这一点:
$this->context->smarty->assign(array(
'current_order_state_id' => $current_order_state_id
));这只是个附注。如果未始终设置变量,请在模板中使用以下命令进行检查:
{if isset($current_order_state_id)}
code
{/if}https://stackoverflow.com/questions/45496663
复制相似问题