Saya mencoba menambahkan opsi login tambahan selama proses checkout. Saat ini, Anda memiliki cara nama pengguna / kata sandi. Saya ingin menambahkan gambar tombol untuk login melalui proses OAuth (dalam kasus saya Github).
Saya menemukan cara tetapi itu bukan cara terbaik. Ada dalam file template checkout / onepage / login.phtml, panggilan untuk mendapatkan nama anak blok form.additional.info
.
Saya mencoba memasukkan blok saya sendiri di dalamnya dengan cara ini tetapi tidak berhasil.
<checkout_onepage_index>
<reference name="form.additional.info">
<block type="core/template" name="login_github_button" as="login.github.button">
<action method="setTemplate" ifconfig="github/config/enabled">
<template>github/customer/login.phtml</template>
</action>
</block>
</reference>
</checkout_onepage_index>
Saya menemukan cara yang berbeda seperti yang dilakukan oleh modul captcha:
<checkout_onepage_index>
<reference name="checkout.onepage.login">
<block type="core/text_list" name="form.additional.info">
<block type="core/template" name="login_github_button" as="login.github.button">
<action method="setTemplate" ifconfig="github/config/enabled">
<template>github/customer/login.phtml</template>
</action>
</block>
</block>
</reference>
</checkout_onepage_index>
Dalam hal ini, ini berfungsi TETAPI captcha tidak akan ditampilkan. Bagaimana saya bisa memasukkan beberapa blok ke dalam form.additional.info
blok?
Terima kasih atas bantuan Anda
EDIT :
Saya menemukan beberapa alasan mengapa tombol tidak ditampilkan di bawah bidang masuk saat menggunakan form.additional.info
metode referensi . Ini ditampilkan dalam tampilan penagihan checkout.
- Blok
form.additional.info
dibuat oleh modul captcha untuk blokcheckout.onepage.login
kemudian juga dibuat untuk blokcheckout.onepage.billing
- Saat membuat blok di Mage_Core_Model_Layout :: _ generateBlock () ia mencari objek induk blok dari blok
login_github_button
. Alih-alih menemukan salah satucheckout.onepage.login
, ia menemukan salah satu yang terbaru diciptakan:checkout.onepage.billing
. Blok dilampirkan ke yang terakhir ini, bukan yang masuk. Kemudian saya menemukan tombol login saya pada tampilan alamat penagihan alih-alih tampilan login !!! - Jika saya berkomentar ke file layout captcha.xml, bagian tentang
checkout.onepage.billing
solusi pertama saya berfungsi.
Ini masih tidak baik tetapi saya mulai menemukan alasannya.
<reference name="form.additional.info">
dan<depends>
solusi di atas jauh lebih bersih dan lebih dipertahankan.