Formulaire paiement Cartridge
Cet article traitera de comment overrider des champs dans le processus de paiement de Cartridge, car en effet sur la page de paiement de cartridge nous avons un formulaire permettant d'insérer directement ses propres numéros de carte bancaire, nous allons voir comment faire pour supprimer ce formualire et ses champs.
Vous devez avoir un formulaire qui ressemble à celui ci-dessous:
Création d'un formulaire OrderForm
Comment nous avons vu dans le précédent article comment overrider les champs du formulaire de cartridge, je vous laisse lire l'article pour plus d'explication. Nous allons tout d'abord créer un dans un fichier forms.py un formulaire qui sera dérivé de la classe OrderForm, le principe restera le même que sur le précédent article, voici comment faire:
from cartridge.shop.forms import OrderForm #Import du formulaire parent
from cartridge.shop.models import #Import du model
Order class OrderForm(OrderForm):
def __init__(self, request, step, data=None, initial=None, errors=None): super(OrderForm, self).__init__(request, step, data, initial, errors)
exclude_fields = ('card_number', 'card_ccv', 'card_name', 'card_type',
'card_expiry_month', 'card_expiry_year')
for field in exclude_fields:
del self.fields[field]
)
Ce qui faut retenir c'est juste cette ligne, qui permet d'exclure les champs de cartes:
exclude_fields = ('card_number', 'card_ccv', 'card_name', 'card_type','card_expiry_month', 'card_expiry_year')
Notez qu'Il est également possible de supprimer le formulaire directement dans le fichier du template du processus de commande.
Après ces changements vous devriez obtenir un résultat se rapprochant de l'image ci-dessous:
Dans un prochain article nous aborderons l'ajout de champs personnalisés dans le processus de commande, comment peut-on adapter à ses besoins ce formulaire.
Si vous avez des questions n'hésitez pas à les laisser dans les commentaires
Publié le: Lundi 09 février 2015