Я намагаюся додати додатковий варіант входу під час оформлення замовлення. На даний момент у вас є спосіб ім’я користувача / пароль. Я хочу додати зображення кнопки для входу через процес OAuth (у моєму випадку Github).
Я знайшов спосіб, але це не найкращий спосіб. У файлі шаблонів checkout / 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>
У цьому випадку вона працює, Але капч не відображатиметься. Як я можу вставити кілька блоків у form.additional.info
блок?
Спасибі за вашу допомогу
Редагувати :
Я знайшов деякі причини, чому кнопка не відображається під полями входу під час використання довідкового form.additional.info
методу. Він замість цього відображається у вікні виставлення рахунків.
- Блок
form.additional.info
створюється модулем captcha для блоку,checkout.onepage.login
тоді він також створюється для блокуcheckout.onepage.billing
- Під час генерації блоку в Mage_Core_Model_Layout :: _ generatorBlock () він здійснює пошук батьківського об'єкта блоку
login_github_button
. Замість того , щоб знайти один зcheckout.onepage.login
, він знаходить один з останніх створено:checkout.onepage.billing
. Блок приєднаний до цього останнього замість журналу в одному. Тоді я знаходжу свою кнопку входу у представленні адреси виставлення рахунків замість перегляду входу !!! - Якщо я коментую файл captcha.xml, то файл про
checkout.onepage.billing
моє перше рішення працює.
Це все ще не нормально, але я починаю знаходити причини.
<reference name="form.additional.info">
І<depends>
розчин вище набагато чистіше і легше підтримувати.