Module prestashop 1.7向签出过程添加字段(并保存)

Module prestashop 1.7向签出过程添加字段(并保存),module,task-parallel-library,prestashop,Module,Task Parallel Library,Prestashop,您好,我创建了一个模块,在结帐期间添加了一个新字段ask for invoice,并将其添加到付款选择挂钩中 提交页面后,如何保存字段值作为复选框?我的意思是在选择付款并按下提交按钮之后 public function hookDisplayPaymentTop() { /* echo"<pre>"; print_r($this->context->cart); echo"&

您好,我创建了一个模块,在结帐期间添加了一个新字段ask for invoice,并将其添加到付款选择挂钩中

提交页面后,如何保存字段值作为复选框?我的意思是在选择付款并按下提交按钮之后

public function hookDisplayPaymentTop()
    {
        /* 
            echo"<pre>";
            print_r($this->context->cart);
            echo"</pre>";
        */

        $sql = 'SELECT vat_number FROM ' . _DB_PREFIX_ . 'address WHERE `id_address` = '.$this->context->cart->id_address_invoice;
        $vat_number = Db::getInstance()->getValue($sql);

        if ($vat_number == false) {
            $message = $this->l(' your VAT number is invalid or ');
            $vat_status = 0;
        }else{
            $message = $vat_number;
            $vat_status = 1;
        }

        $this->context->smarty->assign([
        'foo' => 'bar',
        'usrId' => $this->context->customer->id,
        'vat' => $vat_number,
        'vat_status' => $vat_status,
        'cartId' => $this->context->cart->id
      ]);

      return $this->display(__FILE__, '/views/templates/front/doyouinvoice.tpl');
    }
第三方物流就像:

class yourModuleNameModuleFrontController extends ModuleFrontController
{
    public function initContent(){
        parent::initContent();
        $this>setTemplate('module:yourModuleName//views/templates/front/doyouinvoice.tpl');

        if(Tools::isSubmit('askInvoice')){ //askInvoice is your name button
            //Your php code
        }
    }
}

可能尝试使用工具::isSubmit

我不确定这是否适合你

尝试在模块中创建一个控制器,如下所示:在模块/控制器/控制器名中

return $this->display(__FILE__, '/views/templates/front/doyouinvoice.tpl');
对于DisplayHook,我想你只需要这样做


$this>setTemplate'module:yourModuleName/views/templates/front/doyouinvoice.tpl';
return $this->display(__FILE__, '/views/templates/front/doyouinvoice.tpl');