Prestashop 1.5 如何在处理订单地址表单时使用挂钩保存自定义表单

Prestashop 1.5 how to save custom form using hook while processing order address form

我已经在订单地址表单中添加了自定义表单。

在保存订单地址的同时我也想保存自定义表单,但是它只保存了订单地址。

有人能帮帮我吗?

以下是我在我的项目中的做法。这不是一个干净的选择,但它按预期工作。

order-carrier.tpl 的顶部我添加了一个钩子:

{hook h="checkCustomForm"}

我创建了一个模块/mdoules/customform/customform.php

<?php

if (!defined('_PS_VERSION_'))
    exit;

class CustomForm extends Module
{
    public function __construct()
    {
        $this->name = 'customform';
        $this->tab = 'administration';
        $this->version = '1.0.0';
        $this->author = 'Florian Lemaitre';
        $this->need_instance = 0;

        $this->bootstrap = true;
        parent::__construct();

        $this->displayName = $this->l('Custom Form');
        $this->description = $this->l('Custom Form');
    }

    public function install()
    {
        return $this->createTable()
            && parent::install()
            && $this->registerHook('checkCustomForm');
    }

    public function hookcheckCustomForm($params)
    {

        [process your form values here (Tools::getValue('my_value') ...)]

        if (error)
        {
            // We redirect to the Adrress page with a flag 'missing_value' to alert an error
            Tools::redirect('index.php?controller=order&step=1&missing_value=true');
        }
    }
}