Necesitaba crear dos nuevos atributos de cliente. He seguido la guía de: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes
para crear estos atributos. He comprobado la tabla 'eav_attribute' en la base de datos y puedo confirmar que ambos atributos existen. Lo único es que no sabía cómo crear un atributo de casilla de verificación, así que he creado ambos atributos como 'Sí / No'.
de seguir el código sobre cómo mostrar el campo en el formulario de registro que he hecho:
<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>
Donde el id del atributo es 'publisheroffer'. Cuando se crea la cuenta, se crea bien, pero los campos de atributos personalizados no cambian.
¿Cómo visualizo este atributo como una casilla de verificación en la página de registro y cómo procesar los valores?
Gracias por toda la ayuda de antemano.
fuente
Respuestas:
Para permitir la publicación de un atributo en el formulario de registro y en algunos otros formularios, debe establecer que los atributos estén disponibles para esos formularios.
Para hacerlo, aquí hay un código de muestra para poner en su configuración sql a continuación. Puede encontrar el resto del código que utilicé para mi módulo de nombre de usuario de Magento en mi cuenta de github.
fuente
input
el atributochecked
cuando el valor de$this->getFormData()->getPublisheroffer() == 1
. Tendrás que<input ... value="1" <?php echo ($this->getFormData()->getPublisheroffer() == 1): 'checked' : ''; ?>
eliminarvalue="<?php echo $this->htmlEscape(...)"
y configurarvalue="1"
(o si no)Puede probar el siguiente código para crear un atributo personalizado de casilla de verificación.
Use la entrada 'boolean' en lugar de 'checkbox'.
fuente