2017-08-23 3 views
0

J'ai créé une méthode de paiement personnalisée dans mon OpenCart 2.1.0.1. J'ai également édité mon payment_method.tpl et ajouté un champ personnalisé permettant aux clients d'ajouter un numéro d'identification qui correspond exactement à 10 symboles. Ceci est mon HTML:Ajouter un champ personnalisé sur OpenCart 2.1.0.1. page de paiement

<label class="control-label" for="input-payment-egn"><?php echo $text_egn; ?></label> 
    <input type="text" name="egn" value="" placeholder="Въведете вашето ЕГН" id="input-payment-egn" 
       class="form-control"/> 
</div> 

Comment puis-je exiger ce domaine, la validation et l'ajouter dans les informations de commande en page d'administration et clients Informations sur la commande?

Répondre

1

Vous avez donc codé en dur pour un champ supplémentaire? Pourquoi n'utilisez-vous pas la fonctionnalité opencart pour des champs supplémentaires? Vous pouvez le faire et vous pouvez le placer où vous voulez. Compte ou Caisse. Vous pouvez avoir des règles de validation et/ou changer le type du champ.

enter image description here

modifié ma réponse pour le javascript & le code HTML qui va vérifier si le champ a une valeur ou non et accepter aussi seulement 10 caractères:

Le code HTML devrait changer:

<label class="control-label" for="input-payment-egn"><?php echo $text_egn; ?></label> 
 
    <input type="text" maxlength="10" name="egn" value="" placeholder="Въведете вашето ЕГН" id="input-payment-egn" class="form-control"/> 
 
</div>

/* With 'form' it will fire on any form into the page. Please change it, by form's id. */ 
 
$('form').on('submit', function() { 
 
    /* Get the value and the length of the field */ 
 
    var egn = $('#input-payment-egn').val(); 
 
    var egnLength = egn.length; 
 
    
 
    /* If it's less than 10 never continue */ 
 
    if (egnLength < 10) { 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Parce que ce champ est juste pour mon mode de paiement personnalisé (ce qui est numéro spécifique identique, donc je doit recueillir de l'acheteur seulement s'il choisit ce mode de paiement, sinon je ne besoin) –

+0

Ainsi, alors le fichier que vous avez édité ne devrait pas être édité. Chaque méthode de paiement a son propre fichier .tpl (pour oc 1.5.x - 2.3.x) dans catalogue/vue/paiement/{mode de paiement}/dossier. Là, vous pouvez créer tous les champs que vous voulez et ajouter un javascript pour vérifier si le champ a une valeur, puis continuez, sinon ne le faites pas. Le javascript doit se déclencher sur form.submit et si la valeur ne l'est pas, annuler le submit. – Konstantinos

+0

Oui! Ce javascript est ce que je cherche! J'ai édité mon fichier .tpl de ma propre méthode de paiement personnalisée! Je pense que vous m'avez compris maintenant :) –