我不是PrestaShop的大专家,但这是我想要实现的目标:每当客户确认特定产品的订单时,我想向另一台服务器发送http请求以开始生产产品
这就是我的想法: 在/override/controlers/front/OrderConfirmationController.php中创建一个文件
class OrderConfirmationController extends OrderConfirmationControllerCore
{
public function initContent()
{
parent::initContent();
$url = 'http://server.com/path';
$data = array('key1' => 'value1', 'key2' => 'value2');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
}
}
问题是我需要产品的某些规格(尺寸,颜色......),但不会将所有类型的产品发送到该生产中心。
我使用的是版本1.6.1.1
感谢您的帮助!
昆汀
答案 0 :(得分:0)
查看您覆盖的控制器的 init()方法
/controllers/front/OrderConfirmationController.php
你可能会看到:
$order = new Order((int)($this->id_order));
在子控制器中,您可以访问Order对象,所以:
$products = $order->getProducts();
将为您提供产品清单。