Provo ad aggiungere un'opzione di accesso aggiuntiva durante la procedura di pagamento. Al momento, hai il nome utente / password. Voglio aggiungere un'immagine del pulsante per accedere tramite un processo OAuth (nel mio caso Github).
Ho trovato un modo ma non è il modo migliore. Nel file modello checkout / onepage / login.phtml è presente una chiamata per ottenere il nome di un blocco figlio form.additional.info
.
Ho provato a inserire il mio blocco in esso in questo modo ma non ha funzionato.
<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>
Ho trovato un modo diverso come è fatto dal modulo 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>
In questo caso, funziona MA il captcha non verrà visualizzato. Come posso inserire più blocchi nel form.additional.info
blocco?
Grazie per l'aiuto
MODIFICA :
Ho trovato alcuni motivi per cui il pulsante non viene visualizzato sotto i campi di accesso quando si utilizza il form.additional.info
metodo di riferimento . Viene invece visualizzato nella vista di fatturazione del pagamento.
- Il blocco
form.additional.info
viene creato dal modulo captcha per il blocco,checkout.onepage.login
quindi viene creato anche per il bloccocheckout.onepage.billing
- Durante la generazione del blocco in Mage_Core_Model_Layout :: _ generateBlock () cerca l'oggetto blocco padre del blocco
login_github_button
. Invece di trovare quello dicheckout.onepage.login
, si trova una delle ultime creazione:checkout.onepage.billing
. Il blocco è collegato a quest'ultimo, anziché al log in uno. Quindi trovo il mio pulsante di accesso nella vista dell'indirizzo di fatturazione anziché nella vista di accesso !!! - Se commento nel file captcha.xml di layout, la parte relativa alla
checkout.onepage.billing
mia prima soluzione funziona.
Non va ancora bene, ma comincio a trovare le ragioni.
<reference name="form.additional.info">
e<depends>
sopra è molto più pulita e più mantenibile.