2016-03-02 84 views
0

我从送货地址,我想所有的数据与此产品:的Prestashop得到一个订单

public function getOrderShippingCost($params, $shipping_cost) 
    { 
     global $smarty; 
$url = Tools::getHttpHost(true).__PS_BASE_URI__; 
$address = new Address($this->context->cart->id_address_delivery); 
     $state = new State ($address->id_state); 
     $country = new Country ($address->id_country); 

echo $address->postcode; 

     echo $address->country; 

     echo $address->address1; 

     echo $address->address2; 

     echo $state->name; 

     echo $country->iso_code; 

,结果是好的,但现在我怎样才能得到订单的产品?

我试试这个代码:

$products = $params['cart']->getProducts(true);

,但这样做的结果是Fatal error: Cannot use object of type Cart as array in

如果我尝试这样的事:

$order = new Order($this->context->order->id_order); 

的结果有两个错误:

Notice: Undefined property: Context::$order in /var/www/prestashop/modules/mycarrier/mycarrier.php on line 325 

Notice: Trying to get property of non-object in /var/www/prestashop/modules/mycarrier/mycarrier.php on line 325 

如何获得产品?

回答

2

您已经使用:

new Address($this->context->cart->id_address_delivery); 

所以我认为你可以使用:

$products = $this->context->cart->getProducts(true); 
1

您需要加载顺序明细对象获得的Prestashop的特定顺序编号的产品。

$ProductDetailObject = new OrderDetail; 
$product_detail = $ProductDetailObject->getList($order_id);