Logowanie z facebook nad formularzem rejestracji w PrestaShop

Mam problem z modułem facebook connect 
Moduł posiada hook createAccountTop lecz po wybraniu tej pozycji nie pojawia się button 
Zależy mi aby button pojawiał się u góry formularza nie pod. 
Prosze o pomoc 


w jaki sposób przenieść button logowania z facebook nad formularz w prestashop?

sposób implementacji "hooków" do szablonu niestety nie jest zależny od modułu "facebook login".
To twórca szablonu odpowiada za to jak umiejscowione są w szablonie "hooki". Najwyraźniej w Pana przypadku hook createAccountTop został dodany do szablonu w taki a nie inny sposób. Pozycja hooku createAccountTop może wynikać z kwestii, które np. są decydujące dla sposobu działania szablonu (zatem autor szablonu być może nie bez powodu umieścił hook createAccountTop w takim a nie innym miejscu). W związku z tym uważam, że najrozsądniej będzie nie ruszać pozycji "createAccountTop" (nie wiadomo dlaczego autor szablonu zadecydował o takiej pozycji - jak już wspomniałem powody mogą być istotne) i osiągnąć oczekiwany rezultat w nieco inny sposób.

hook fblogin

Na pomoc przychodzi tu specjalny hook, dostępny wyłącznie dla modułu "facebook login". Ta pozycja nazywa się "fblogin" i aby moduł uruchomić we wskazanym miejscu sklepu - wstarczy do pliku .tpl szablonu dodać shortcode {hook h='fblogin'}
w prestashop 1.7 mamy trzy miejsca w którym wyświetla się hook formularz rejestracji.

  1. Pierwszym jest miejsce logowania się do sklepu: https://i.imgur.com/a0uiGuh.png, gdy włączymy moduł "facebook login" w pozycji "displayCustomerLoginFormAfter", button pojawi się "pod" formularzem: https://i.imgur.com/xG5F0gt.png
    • jeżeli chcemy aby wyświetlał nad formularzem logowania musimy wyedytować plik: themes/nazwa-szablonu/templates/customer/authentication.tpl
    • w przywołanym pliku znajduje się linia z kodem: {render file='customer/_partials/login-form.tpl' ui=$login_form} 
    • wstawiamy nad nią shorcode {hook h='fblogin'}
    • na stronie konfiguracynjej modułu wyłaczamy pozycję displayCustomerLoginFormAfter i włączamy pozycję "fblogin": https://i.imgur.com/WPsSQZn.png 
    • w efekcie button pojawi się nad formularzem, jak na screenie: https://i.imgur.com/tumhh2d.png

  2. Drugim miejscem jest formularz rejestracji: https://i.imgur.com/UlBv4Bs.png, po włączeniu pozycji "createAccountTop" w module "facebook login", button logowania pojawi się w miejscu: https://i.imgur.com/gO5RUbZ.png - jak rozumiem w Pana przypadku tak nie jest. Zatem sugeruję zrezygnować z hooku "createAccountTop" i skorzystać z "fblogin", tak jak w poprzednim przypadku.
    • Plik odpowiedzialny za ten formularz to: themes/nazwa-szablonu/templates/customer/registration.tpl, musimy go wyedytować.
    • wklejamy nad nią shortcode: {hook h='fblogin'}
    • standardowo znajduje się w nim linia: {render file='customer/_partials/customer-form.tpl' ui=$register_form}
    • na stronie konfiguracynjej modułu wyłaczamy pozycję createAccountTop i włączamy pozycję "fblogin": https://i.imgur.com/WPsSQZn.png
    • w efekcie button logowania z fb pojawi się na górze formularza rejestracji
  3. Trzecim miejscem jest formualrz który wyświetla się w trakcie zakupów (po przejsciu do koszyka i procesu zamawiania): https://i.imgur.com/3LaBnpg.png
    • Plik odpowiedzialny za ten fragment sklepu to: themes/nazwa-szablonu/templates/checkout/_partials/steps/personal-information.tpl
    • znajduje się tam kod:
      <ul class="nav nav-inline my-2" role="tablist">
            <li class="nav-item">
              <a
                class="nav-link {if !$show_login_form}active{/if}"
                data-toggle="tab"
                href="#checkout-guest-form"
                role="tab"
                aria-controls="checkout-guest-form"
                {if !$show_login_form} aria-selected="true"{/if}
                >
                {if $guest_allowed}
                  {l s='Order as a guest' d='Shop.Theme.Checkout'}
                {else}
                  {l s='Create an account' d='Shop.Theme.Customeraccount'}
                {/if}
              </a>
            </li>
    • wklejamy nad nim shortcode: ​{hook h='fblogin'}
    • na włączamy pozycję "fblogin": https://i.imgur.com/WPsSQZn.png
    • w efekcie button logowania z facebook pojawi się nad formularzem


Wydaje mi się, że wyczerpałem temat tworzenia buttonu nad formularzem logowania / rejestacji w różnych pozycjach sklepu. gdyby pojawiły się dodatkowe pytania - proszę o kontakt.


pozdrawiam,
miłosz
Share on Google Plus

About VEKIA

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment