ฉันพยายามเพิ่มตัวเลือกการเข้าสู่ระบบเพิ่มเติมในระหว่างกระบวนการเช็คเอาต์ ในขณะนี้คุณมีชื่อผู้ใช้ / รหัสผ่าน ฉันต้องการเพิ่มรูปปุ่มเพื่อเข้าสู่ระบบผ่านกระบวนการ OAuth (ในกรณีของฉัน Github)
ฉันพบวิธี แต่ไม่ใช่วิธีที่ดีที่สุด ที่มีอยู่ในการชำระค่าสินค้า / onepage / login.phtml form.additional.info
แฟ้มแม่แบบเรียกร้องให้รับเด็กบล็อกชื่อ
ฉันพยายามแทรกบล็อกของตัวเองลงในวิธีนี้ แต่มันไม่ได้ผล
<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>
ฉันพบวิธีที่แตกต่างจากโมดูล 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>
ในกรณีนี้ใช้งานได้ แต่ captcha จะไม่ปรากฏขึ้น ฉันจะแทรกหลาย ๆ บล็อกลงในform.additional.info
บล็อกได้อย่างไร
ขอบคุณสำหรับความช่วยเหลือของคุณ
แก้ไข :
ฉันพบสาเหตุบางประการที่ปุ่มไม่ปรากฏใต้ช่องล็อกอินเมื่อใช้form.additional.info
วิธีการอ้างอิง มันจะแสดงในมุมมองการเรียกเก็บเงินเช็คเอาต์แทน
- บล็อก
form.additional.info
ถูกสร้างขึ้นโดยโมดูล captcha สำหรับบล็อกcheckout.onepage.login
จากนั้นจะถูกสร้างขึ้นสำหรับบล็อกcheckout.onepage.billing
- ขณะที่การสร้างบล็อกใน Mage_Core_Model_Layout :: _ generateBlock ()
login_github_button
จะค้นหาวัตถุปกครองบล็อกของบล็อก แทนการหาหนึ่งในก็พบว่าหนึ่งในผู้สร้างล่าสุด:checkout.onepage.login
checkout.onepage.billing
บล็อกถูกแนบเข้ากับบล็อกล่าสุดแทนที่จะเป็นบล็อกเดียว จากนั้นฉันพบปุ่มลงชื่อเข้าใช้ในมุมมองที่อยู่การเรียกเก็บเงินแทนมุมมองการเข้าสู่ระบบ !!! - หากฉันใส่ความคิดเห็นลงในไฟล์ captcha.xml เลย์เอาต์ส่วนที่เกี่ยวกับ
checkout.onepage.billing
โซลูชันแรกของฉันใช้ได้
มันยังไม่โอเค แต่ฉันเริ่มหาเหตุผล
<reference name="form.additional.info">
และ<depends>
วิธีการแก้ปัญหาดังกล่าวข้างต้นมากสะอาดและการบำรุงรักษามากขึ้น