Eu precisava criar dois novos atributos de cliente. Segui o guia em: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes
para criar esses atributos. Verifiquei a tabela 'eav_attribute' no banco de dados e posso confirmar se os dois atributos existem. A única coisa é que eu não sabia como criar um atributo de caixa de seleção, então criei os dois atributos como 'Sim / Não'.
de seguir o código sobre como exibir o campo no formulário de registro que fiz:
<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>
Onde o ID do atributo é 'publisheroffer'. Quando a conta é criada, ela cria uma multa, mas os campos de atributos personalizados não são alterados.
Como exibir esse atributo como uma caixa de seleção na página de registro e como processar os valores.
Obrigado por toda a ajuda com antecedência.
fonte
Respostas:
Para permitir a publicação de um atributo no formulário de registro e em algumas outras páginas do formulário, é necessário definir que os atributos estão disponíveis para esses formulários.
Para fazer isso, aqui está um código de exemplo para colocar na sua configuração sql abaixo. Você pode encontrar o restante do código que usei para o meu módulo Magento Username na minha conta do github.
fonte
input
o atributochecked
quando o valor de$this->getFormData()->getPublisheroffer() == 1
. Você terá<input ... value="1" <?php echo ($this->getFormData()->getPublisheroffer() == 1): 'checked' : ''; ?>
que removervalue="<?php echo $this->htmlEscape(...)"
e configurarvalue="1"
(ou então)Você pode tentar o código a seguir para criar um atributo personalizado da caixa de seleção.
Use a entrada 'boolean' em vez de 'caixa de seleção'.
fonte