Prestashop覆盖默认行为

Prestashop覆盖默认行为,prestashop,Prestashop,我不是PrestaShop的专家,但这正是我想要实现的:每次客户确认某个特定产品的订单时,我都会向另一台服务器发送http请求,以开始生产该产品 这就是我的想法: 在/override/controlers/front/OrderConfirmationController.php中创建一个文件 class OrderConfirmationController extends OrderConfirmationControllerCore { public function init

我不是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版

谢谢你的帮助

Quentin

查看您重写的控制器的init()方法 /controllers/front/OrderConfirmationController.php
在那里你可以看到:

$order = new Order((int)($this->id_order));
在子控制器中,您可以访问Order对象,因此:

$products = $order->getProducts(); 
我将为您提供产品清单