Prestashop 在註冊表單中添加額外字段 (Prestashop Add extra fields to registration form)


問題描述

Prestashop 在註冊表單中添加額外字段 (Prestashop Add extra fields to registration form)

I am building a prestashop site

The corporate buyers cannot register for an account to view the products unless they can enter a valid EIN number or a valid Duns & Brandstreet number in registration.

How to make it possible?

Also any other e-commerce software that can help me solve this by switching to it?


參考解法

方法 1:

All you really need to do is add the field to the template and then override the AuthController with additional code to handle you new field. e.g.

<?php
class AuthController extends AuthControllerCore
{     
  public function preProcess()
  {
    // Additional pre-processing for the new form field
    if (Tools::isSubmit('submitAccount'))
    {
      if (!MyDBNumberValidationClass::verifyvalidnumber(Tools::getValue('db_number_field', 0)))
        $this->errors[] = Tools::displayError('The Dun and Bradstreet number you entered is invalid.'); 
    }
    parent::preProcess();
  }
}

I'm assuming that you're doing complex verification of the number which is why the static call to MyDBNumberValidationClass::verifyvalidnumber() is in the above, but it could equally by any simple test or an additional function in your AuthController override class definition above that validates. If you add two fields (i.e. the EIN number too) then just alter the logic to handle generating an error only if both are invalid; success of the form validation is based on $this->errors being empty.

This is only part of a general solution since it only handles validating the extra fields. If you need to actually do something with the data entered then the best way is to write a little handler module that installs itself on hookCreateAccount e.g.

public function hookCreateAccount($params)
{
  // Get the field data entered on the form
  $DB_number = $params['_POST']['db_number_field'];

  // Your custom processing...
}

Note that there's no way to back out of the account creation from here so you will want to add code to email the store owner should there be a problem.

(by Sheik797Paul Campbell)

參考文件

  1. Prestashop Add extra fields to registration form (CC BY-SA 3.0/4.0)

#shopping-cart #oscommerce #PHP #e-commerce #prestashop






相關問題

PHP PDO - 無法序列化或反序列化 PDO 實例 (PHP PDO - cannot serialize or unserialize PDO instances)

Prestashop 在註冊表單中添加額外字段 (Prestashop Add extra fields to registration form)

接近購物車存儲,帶有 sessionID 的數據庫 (Approach shopping cart storage, database with sessionID)

購物車不工作,我想哭 (Shopping cart won't work and I want to cry)

如何在 UITableView 中使用 dequeueReusableCellWithIdentifier 快速管理購物車? (How to manage shopping cart in UITableView with dequeueReusableCellWithIdentifier in swift?)

如何區分 Rs 和 % 值? (How to differentiate Rs and % values?)

貝寶購物車的運費之一 (One of delivery charge for paypal shopping cart)

ZenCart 中的優惠券問題 (Coupon problem in ZenCart)

PAYPAL 貨幣不起作用 (PAYPAL currency is not working)

RESTful 購物車網絡服務 (RESTful Shopping Cart web service)

Gravity Form 不適用於結帳頁面 (Gravity Form doesn't work with Checkout Page)

帶有對象的數組,單擊按鈕後增加/減少對像中的值之一 (Array with objects, increasing/decreasing one of the value in object after click on button)







留言討論