Приветствую.
В CSC есть возможность отключить шаг авторизации при оформлении заказа. Это во многом логично, чтобы не отвлекать клиента от импульсной покупки и перенести "нагрузку" регистрации на финал, когда заказ уже оплачен.
Я решил немного "причесать" этот путь путём добавления некоторых пояснений для покупателя, как это сделано, например на платформе Ecwid. Например более подробный призыв придумать пароль в конце заказа.
Итак, всё оформлено чин-по-чину отдельным модулем, врезаюсь в хуки шаблонов. И вот в следующем месте у меня затык:
Задача: В заголовок шага оформления "1 Адрес доставки" (который на самом деле step 2) нужно врезать содержимое, в зависимости от авторизованности пользователя. Смотрите скриншоты:
[attachment=12347:Screenshot_6.png] [attachment=12348:Screenshot_7.png]
Тут всё работает. За основу взял выпадаюший шаблон "Мой профиль"
/design/themes/responsive/templates/blocks/my_account.tpl
отрубил от него лишнее и врезал после легального хука тайтла в шаблоне второго шага заказа
/design/themes/responsive/templates/views/checkout/components/steps/step_two.tpl
{hook name="checkout:step_two_edit_link_title"}
Но вот в чём проблема: в попапе при нажатии на кнопку "Войти" не подключается "Вход с помощью соцсетей". Причём, в родном попапе они есть, а во врезанном - нет. Скрины:
[attachment=12349:Screenshot_8.png] [attachment=12350:Screenshot_9.png]
И ещё фишка: Если вернуть первый шаг оформления в общих настройках, то иконки соцсетей появляются и во врезке.
И ещё, если в коде убрать фрагмент include file="views/auth/login_form.tpl"... то иконки тоже появляются, но попап становится какой-то "кривой" и без ссылки "регистрация".
Короче, какие-то параметры в хук я неправильно передаю, вероятно... подскажите, гуру!
Вот, собственно код врезки с комментариями:
{if $auth.user_id} <span class="danya-flat-text">Вы авторизованы как </span> {if $user_info.firstname || $user_info.lastname} <a class="ty-account-info__a underlined" href="{"profiles.update"|fn_url}" rel="nofollow" >{$user_info.firstname} {$user_info.lastname}</a> {else} <a class="ty-account-info__a underlined" href="{"profiles.update"|fn_url}" rel="nofollow" >{$user_info.email}</a> {/if} {elseif $user_data.firstname || $user_data.lastname} {$user_data.firstname} {$user_data.lastname} {elseif $user_data.email} {$user_data.email} {/if}
{if !$auth.user_id} <span class="danya-flat-text">Если Вы зарегестрированы, не забудьте войти, тогда не нужно будет каждый раз вводить адрес доставки: </span> <a href="{if $runtime.controller == "auth" && $runtime.mode == "login_form"}{$config.current_url|fn_url}{else}{"auth.login_form?return_url=`$return_current_url`"|fn_url}{/if}" {if $settings.Security.secure_storefront != "partial"} data-ca-target-id="login_block{$block.snapping_id}" class="cm-dialog-opener cm-dialog-auto-size ty-btn ty-btn__secondary"{else} class="ty-btn ty-btn__primary"{/if} rel="nofollow">{__("sign_in")}</a> <!-- если удалить следующий блок с инклюд, то соцсети появятся, но с кривым css и без ссылки на регистрацию --> {if $settings.Security.secure_storefront != "partial"} <div id="login_block{$block.snapping_id}" class="hidden" title="{__("sign_in")}"> <div class="ty-login-popup"> {include file="views/auth/login_form.tpl" style="popup" id="popup`$block.snapping_id`"} </div> </div> {/if} {/if}