Context::getContext() 如何在 Prestashop Bankwire 模块中使用
Context::getContext() how to use in Prestashop Bankwire module
我在通过银行电汇订单步骤获取送货国家时遇到了一些问题。
我尝试在 modules/bankwire/bankwire.php
function __construct()
中使用 Context::getContext();
获取这样的国家/地区名称:
$context = Context::getContext();
$this->context->smarty->assign('country_name', $context->country->name[1]);
什么也没有。但在 Cart.php 它适用于:
$context = Context::getContext();
if ($context->country->name[1] == 'Germany') {}
我也尝试像这样在 modules/bankwire/bankwire.php
中获取国家名称:
$context = Context::getContext();
$delivery = new Address($context->cart->id_address_delivery);
$this->context->smarty->assign('country_name', $delivery->country);
也一无所获。但在 ParentOrderController.php
它适用于:
$address = new Address($this->context->cart->id_address_delivery);
$this->context->smarty->assign('country_name', $address->country);
你能告诉我如何在银行电汇中获取国家名称以及如何使用 Context::getContext() 吗?
谢谢
我发现我错在哪里了。我应该编辑这个文件 modules/bankwire/controllers/front/payment.php
在这段代码之后:
public function initContent()
{
parent::initContent();
$cart = $this->context->cart;
if (!$this->module->checkCurrency($cart))
Tools::redirect('index.php?controller=order');
$this->context->smarty->assign(array(
'nbProducts' => $cart->nbProducts(),
'cust_currency' => $cart->id_currency,
'currencies' => $this->module->getCurrency((int)$cart->id_currency),
'total' => $cart->getOrderTotal(true, Cart::BOTH),
'this_path' => $this->module->getPathUri(),
'this_path_bw' => $this->module->getPathUri(),
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
));
我把$this->context->smarty->assign('total'…
改成了我需要的。
但是问题 为什么 Context::getContext() 在 bankwire.php 中不起作用? 仍然悬而未决。如果有人知道为什么 Context::getContext()
不起作用,我想听听。
谢谢。
我在通过银行电汇订单步骤获取送货国家时遇到了一些问题。
我尝试在 modules/bankwire/bankwire.php
function __construct()
中使用 Context::getContext();
获取这样的国家/地区名称:
$context = Context::getContext();
$this->context->smarty->assign('country_name', $context->country->name[1]);
什么也没有。但在 Cart.php 它适用于:
$context = Context::getContext();
if ($context->country->name[1] == 'Germany') {}
我也尝试像这样在 modules/bankwire/bankwire.php
中获取国家名称:
$context = Context::getContext();
$delivery = new Address($context->cart->id_address_delivery);
$this->context->smarty->assign('country_name', $delivery->country);
也一无所获。但在 ParentOrderController.php
它适用于:
$address = new Address($this->context->cart->id_address_delivery);
$this->context->smarty->assign('country_name', $address->country);
你能告诉我如何在银行电汇中获取国家名称以及如何使用 Context::getContext() 吗?
谢谢
我发现我错在哪里了。我应该编辑这个文件 modules/bankwire/controllers/front/payment.php
在这段代码之后:
public function initContent()
{
parent::initContent();
$cart = $this->context->cart;
if (!$this->module->checkCurrency($cart))
Tools::redirect('index.php?controller=order');
$this->context->smarty->assign(array(
'nbProducts' => $cart->nbProducts(),
'cust_currency' => $cart->id_currency,
'currencies' => $this->module->getCurrency((int)$cart->id_currency),
'total' => $cart->getOrderTotal(true, Cart::BOTH),
'this_path' => $this->module->getPathUri(),
'this_path_bw' => $this->module->getPathUri(),
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
));
我把$this->context->smarty->assign('total'…
改成了我需要的。
但是问题 为什么 Context::getContext() 在 bankwire.php 中不起作用? 仍然悬而未决。如果有人知道为什么 Context::getContext()
不起作用,我想听听。
谢谢。