Ich musste zwei neue Kundenattribute erstellen. Ich habe den Leitfaden von folgender Adresse befolgt: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes
um diese Attribute zu erstellen. Ich habe die Tabelle 'eav_attribute' in der Datenbank überprüft und kann bestätigen, dass beide Attribute vorhanden sind. Das einzige war, dass ich nicht wusste, wie man ein Kontrollkästchenattribut erstellt, also habe ich beide Attribute als "Ja / Nein" erstellt.
Folgen Sie dem Code zum Anzeigen des Felds auf dem Registrierungsformular, das ich erstellt habe:
<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>
Wobei die Attribut-ID "Publisher-Angebot" lautet. Wenn das Konto erstellt wird, wird es gut erstellt, aber die benutzerdefinierten Attributfelder ändern sich nicht.
Wie zeige ich dieses Attribut als Kontrollkästchen auf der Registrierungsseite an und wie verarbeite ich die Werte?
Vielen Dank für die Hilfe im Voraus.
quelle
Antworten:
Um ein Attribut im Registerformular und auf einigen anderen Formularseiten veröffentlichen zu können, müssen Sie festlegen, dass die Attribute für diese Formulare verfügbar sind.
Um dies zu tun, finden Sie hier einen Beispielcode, den Sie unten in Ihr SQL-Setup einfügen können. Den Rest des Codes, den ich für mein Magento-Benutzernamen-Modul verwendet habe, finden Sie in meinem Github-Konto.
quelle
input
das Attribut in das HTML-Tag ,checked
wenn der Wert von$this->getFormData()->getPublisheroffer() == 1
. Sie haben<input ... value="1" <?php echo ($this->getFormData()->getPublisheroffer() == 1): 'checked' : ''; ?>
Sie sollten entfernenvalue="<?php echo $this->htmlEscape(...)"
und einstellenvalue="1"
(oder sonst)Sie können den folgenden Code verwenden, um ein benutzerdefiniertes Kontrollkästchenattribut zu erstellen.
Verwenden Sie die Eingabe 'boolean' anstelle von 'checkbox'.
quelle