J'avais besoin de créer deux nouveaux attributs client. J'ai suivi le guide sur: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes
pour créer ces attributs. J'ai vérifié la table 'eav_attribute' dans la base de données et je peux confirmer que les deux attributs existent. La seule chose était que je ne savais pas comment créer un attribut de case à cocher, j'ai donc créé les deux attributs comme «Oui / Non».
de suivre le code sur la façon d'afficher le champ sur le formulaire d'inscription que j'ai fait:
<li class="control">
<div class="input-box">
<label for="publisheroffer"><?php echo $this->__('Publisher Offer') ?><span class="required">*</span></label><br />
<input type="checkbox" name="publisheroffer" id="publisheroffer" value="<?php echo $this->htmlEscape($this->getFormData()->getPublisheroffer()) ?>" title="<?php echo $this->__('Publisher Offer') ?>" class="input-text" />
</div>
</li>
Où l'identifiant d'attribut est 'publisheroffer'. Lorsque le compte est créé, il se crée correctement mais les champs d'attributs personnalisés ne changent pas.
Comment afficher cet attribut sous forme de case à cocher sur la page d'inscription et comment traiter les valeurs.
Merci pour toute l'aide à l'avance.
la source
Réponses:
Pour permettre de publier un attribut dans le formulaire d'inscription et dans d'autres pages de formulaire, vous devez définir que le ou les attributs sont disponibles pour ces formulaires.
Pour ce faire, voici un exemple de code à mettre dans votre configuration SQL ci-dessous. Vous pouvez trouver le reste du code que j'ai utilisé pour mon module de nom d'utilisateur Magento sur mon compte github.
la source
input
l'attributchecked
lorsque la valeur de$this->getFormData()->getPublisheroffer() == 1
. Vous aurez<input ... value="1" <?php echo ($this->getFormData()->getPublisheroffer() == 1): 'checked' : ''; ?>
Vous devriez retirervalue="<?php echo $this->htmlEscape(...)"
et réglervalue="1"
(ou bien)Vous pouvez essayer le code suivant pour créer un attribut personnalisé de case à cocher.
Utilisez l'entrée «booléen» au lieu de «case à cocher».
la source