Saya ingin membuat halaman login yang menggunakan nomor pelanggan yang diberikan alih-alih alamat email mereka. Cara bisnis saya diatur, pada platform eComms terpisah, mereka mengakses akun mereka dengan nomor pelanggan karena mereka adalah beberapa manajer akun untuk satu akun. Saya membuat akun untuk mereka dan kemudian menetapkan nomor pelanggan, yang kemudian mereka gunakan untuk login, dengan kata sandi.
Bantuan apa pun akan sangat dihargai.
magento-1.9
customer
login
Alex WG
sumber
sumber
Jawaban:
Dimungkinkan untuk menerapkan logika dasar dengan sedikit kode khusus:
Tulis pengamat untuk
controller_predispatch_customer_account_loginPost
, periksa apakah alamat email yang diposting (username
) tidak terlihat seperti alamat email. Dalam hal ini, cari pelanggan dengan nomor pelanggan dan ganti bidang nama pengguna dalam data POST dengan alamat email sebenarnya dari pelanggan yang ditemukan.Contoh kode pengamat:
Lalu
controller_postdispatch_customer_account_loginPost
, ganti alamat email di sesi kembali ke nomor pelanggan, jika sudah diatur. Kalau tidak, pesan kesalahan pada login gagal akan berisi alamat email, bukan nomor.Contoh kode pengamat:
Hal-hal lain yang perlu dipertimbangkan:
increment_id
nomor pelanggan bawaan, yang dapat Anda aktifkan dalam konfigurasi sistem di bawah Konfigurasi Pelanggan> Buat Opsi Akun Baru> Hasilkan ID Pelanggan yang Ramah Manusiasumber
Mengapa hanya angka ...
https://github.com/diglin/Diglin_Username
Dengan ekstensi ini, Anda dapat meminta orang masuk dengan nama pengguna. Jelas Anda dapat mengunci 'nama pengguna' itu ke 'nomor akun' tanpa terlalu banyak kesulitan.
sumber