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.infoblok?
Terima kasih atas bantuan Anda
EDIT :
Saya menemukan beberapa alasan mengapa tombol tidak ditampilkan di bawah bidang masuk saat menggunakan form.additional.infometode referensi . Ini ditampilkan dalam tampilan penagihan checkout.
- Blok
form.additional.infodibuat oleh modul captcha untuk blokcheckout.onepage.loginkemudian 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.billingsolusi 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.