Saya perlu membuat dua atribut pelanggan baru. Saya telah mengikuti panduan dari: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes
untuk membuat atribut ini. Saya telah memeriksa tabel 'eav_attribute' dalam database dan dapat mengkonfirmasi bahwa kedua atribut tersebut ada. Satu-satunya hal adalah saya tidak tahu cara membuat atribut kotak centang jadi saya telah membuat kedua atribut sebagai 'Ya / Tidak'.
mengikuti kode tentang cara menampilkan bidang pada formulir pendaftaran yang telah saya lakukan:
<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>
Di mana atribut id adalah 'publisheroffer'. Ketika akun dibuat, ia menciptakan baik-baik saja tetapi bidang atribut khusus tidak berubah.
Bagaimana cara menampilkan atribut ini sebagai kotak centang pada halaman pendaftaran, dan bagaimana memproses nilai-nilai.
Terima kasih atas semua bantuannya sebelumnya.
sumber
Jawaban:
Untuk mengizinkan mempublikasikan atribut dalam formulir register dan beberapa lainnya membentuk halaman, Anda harus menetapkan bahwa atribut tersedia untuk formulir tersebut.
Untuk melakukannya di sini adalah kode sampel untuk dimasukkan ke dalam pengaturan sql Anda di bawah ini. Anda dapat menemukan sisa kode yang saya gunakan untuk modul Nama Pengguna Magento saya di akun github saya.
sumber
input
atribut tag htmlchecked
ketika nilai$this->getFormData()->getPublisheroffer() == 1
. Anda akan memiliki<input ... value="1" <?php echo ($this->getFormData()->getPublisheroffer() == 1): 'checked' : ''; ?>
Anda harus menghapusvalue="<?php echo $this->htmlEscape(...)"
dan mengaturvalue="1"
(atau yang lain)Anda dapat mencoba kode berikut untuk membuat atribut khusus kotak centang.
Gunakan input 'boolean' bukan 'kotak centang'.
sumber