Jump to content
  • 0

PikaDarkstar

Question

Chciałbym dodać 2 nowe hooki do szablonu classic i podpiąć do nich zawartość.

Udało mi się wyedytować plik header.tpl:

{block name='header_top'}
  <div class="header-top">
    <div class="container">
       <div class="row">
       

<div class="col-md-4 hidden-sm-down text-xs-left" id="_desktop_logo">


            {if $page.page_name == 'index'}
              <h1>
                <a href="{$urls.base_url}">
                  <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
                </a>
              </h1>
            {else}
                <a href="{$urls.base_url}">
                  <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
                </a>
            {/if}
        </div>
      

 <div class="col-md-4 text-xs-left">
          {hook h='displayTop2'}
        </div>
        <div class="col-md-4 text-xs-left">
          {hook h='displayTop3'}
        </div>

Następnie wyszukałem w google, żeby dodać nowe hooki trzeba je zdefiniować w pliku classic/config/theme.yml

global_settings:
  configuration:
    PS_IMAGE_QUALITY: png
  modules:
   to_enable:
     - ps_linklist
  hooks:
    custom_hooks:
        - name: displayTop2
          title: displayTop2
          description: dodaje hook displayTop2
        - name: displayTop3
          title: displayTop3
          description: dodaje hook displayTop3  
    modules_to_hook:
      displayNav1:
        - ps_contactinfo
      displayNav2:
        - ps_languageselector
        - ps_currencyselector
        - ps_customersignin
        - ps_shoppingcart
      displayTop:
        - ps_mainmenu
        - ps_searchbar

Niestety po wgraniu plików nie widzę moich nowych hooków (displayTop2, displayTop3) czy robie coś źle??
Chciałem podpiąć po prostu wbudowaną wyszukiwarkę pod displayTop2, a potem ewentualnie moduł social mediów pod displayTop3

 na-forum-hook03.thumb.png.1b14f895bcb1cabc9c8bf65bc57b752f.png

 

Podpowie ktoś co robie źle?? Po prostu moje nowo dodane hooki nie są wyświetlane na liście pozycji.
Czy powie ktoś jak je zdefiniować, bo sposób z google nie działa  :(


Strona była rekompilowana, czyściłem też pamięć podręczną... kilkukrotnie...

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Tak, to zrozumiałe, pisałem na temat samej działalności tego modułu....
Tzn de facto dalej nie wiem jak te hooki się tworzą, czy np muszą być przypisane do bazy SQL?
Chciałbym się nauczyć czegoś na temat tego systemu CMS (prestashop) tak by w przyszłości móc tworzyć własne szablony i moduły :)
Nie jestem programistą, ale pracuje w branży IT ;)

Bardzo dziękuję za pomoc!

Edited by PikaDarkstar
Podziękowania (see edit history)
Link to comment
Share on other sites

  • 0

Może to Ci pomoże zrozumieć jak działają hooki (w skrócie)

1. Hook musi być zarejestrowany w bazie danych, w tabeli ps_hook. Nowe hooki mogą być tworzone np.
    - podczas instalacji modułów, w takim przypadku moduł musi posiadać odpowiedni kod odpowiedzialny za utworzenie hooka
    - można utworzyć nowego hooka za pomocą odpowiedniego modułu do tworzenia hooków, np. tak jak podał kolega @krzysiuus
    - można utworzyć nowego hooka "ręcznie", dodając odpowiedni wpis do tabeli ps_hook
    
2. w szablonie należy dodać odwołanie do utworzonego hooka (tak jak podał kolega @krzysiuus)

3. w kontrolerze modułu musi być funkcja, która będzie powiązana z utworzonym hookiem (będzie tam zwracała wyniki swojego działania).

    W nazwie tej funkcji musi być nazwa hooka z którym jest ona powiązana np. public function hookMojHook($params)
    
    

Nie musisz tworzyć nowych hooków, dodatkową funkcjonalność możesz dodać do już istniejących, przy pomocy funkcji modułu (pkt 3).

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...