1

オープンカート 1.5.5.1

5 月のチェックアウト登録ページに新しいフィールドを追加しました。

-catalog/view/theme/default/template/checkout/register.tpl に追加:

  <span class="required">*</span> <?php echo $entry_cnp; ?><br />
  <input type="text" name="cnp" value="" class="large-field" />
  <br />
  <br />

そして、catalog/controller/checkout/register.php に:

$this->data['entry_cnp'] = $this->language->get('entry_cnp');

if ((utf8_strlen($this->request->post['cnp']) < 3) || (utf8_strlen($this->request->post['cnp']) > 32)) {
                $json['error']['cnp'] = $this->language->get('error_cnp');
            }

チェックアウト時に登録すると問題なく機能しますが、このフィールドに入力しないと問題が発生します。先に進むことはできませんが、要求された他のフィールドのようにエラー メッセージが表示されません。

4

1 に答える 1

3

このようにまだ追加していない場合は、まず言語ファイルに「error_cnp」変数を追加します

$_['error_cnp'] = 'some error text';

次に、catalog/view/theme/default/template/checkout/checkout.tpl で:

探す

$('#button-register').live('click', function() {
 $.ajax({
        url: 'index.php?route=checkout/register/validate',
        // some code
        success: function() {

そして、この成功関数内に次の行を貼り付けます

if (json['error']['cnp']) {
    $('#payment-address input[name=\'cnp\'] + br').after('<span class="error">' + json['error']['cnp'] + '</span>');
}

似たような線の間 ( の内側else if (json['error']) {)

于 2013-07-12T13:59:33.937 に答える