我正在为FSSnet(印度支付网关)创建一个Prestashop支付集成模块。
我需要将一些用户定义的字段传递给支付网关,其中一些来自当前指定的订单发货地址(如电话号码等)
虽然我在搜索了各种公共类和全局变量之后提取了大部分字段,但我仍然留下了地址详细信息。
仅供参考,我需要以下来自AddressCore类的值(别名为Address,存在于/classes/Address.php中):
/** @var string Firstname */
public $firstname;
/** @var string Address first line */
public $address1;
/** @var string Address second line (optional) */
public $address2;
/** @var string Postal code */
public $postcode;
我认为这很简单(或者可能是),但是我无法找到使用成员访问运算符从Address类中提取这些公共变量的正确方法。
另外,我需要从 hookPayment 函数下的模块主php文件(例如mymodulename.php)中获取这些值,而不是通过SMARTY tpl文件。我想这会更简单。
更新:: 找到了解决方案。不得不通过Address对象进行调试。 以下代码有效。
$user_address = new Address(intval($params['cart']->id_address_invoice));
然后
$udf3 = "udf3=".$user_address->phone;
谢谢。
答案 0 :(得分:2)
试试这个
通过从当前购物车中检索ID来创建地址对象。
$address = new Address($this->context->cart->id_address_delivery);