niedziela, 12 sierpnia 2012

Jak założyć własnego HOOK - a w Prestashop 1.3 ?

Zakładamy swój własny sklep internetowy Prestashop (a tym poradniku zajmiemy się wersją 1.3) i co dalej ? Wygląda pospolicie i coś chcielibyśmy w nim zmienić. Może założyć nowego HOOK-a ? Ale co to jest i do czego służy ? Haczyk (ang. HOOK) służy do umieszczania pewnych sekwencji modułów w odpowiednim dla nas miejscu. W dalszej części wykorzystywać będę nazwy tabel bez żadnego przedrostka, standardowo Prestashop dodaje do nazwy tabeli przedrostek ps_
Jak go stworzyć:
  1. Jeśli stworzyłeś swój sklep Prestashop to musisz się zalogować do bazy danych (jeśli nie stawiałeś swojego sklepu, musisz się skontaktować osobą która to zrobiła żeby udostępniła Ci wszystkie hasła i loginy).
  2. Odnajdujemy tam tabelę hook w której dodajemy nowy rekord, czyli nowy haczyk, w nazwie którą sobie wybierzemy np. obrazek
  3. Następnie w tabeli  hook_module "przypinamy" do naszego haczyka jakie moduły chcemy tzn. dodajemy rekordy z id haczyka i id modułu który do tego haczyka chcemy podłączyć. Listę modułów mamy w tabeli module
  4. W katalogu głównym naszego sklepu Prestashop mamy katalog  modules w którym tworzymy katalog o nazwie obrazek którym tworzymy dwa pliki obrazek.php i obrazek.tpl. Do pliku obrazek.php wrzucamy kod:
     <?php
          class Obrazek extends Module
          {
             function __construct()
             {
                $this->name = 'obrazek';
                $this->tab = 'Blocks';
                $this->version = 1.0;

                parent::__construct();

                $this->page = basename(__FILE__, '.php');
                $this->displayName = $this->l('Block Obrazek');
                $this->description = $this->l('Dodaj blok z obrazkiem');
             }

             function install()
             {
                if (!parent::install())
                   return false;
                if (!$this->registerHook('obrazek'))
                   return false;
                return true;
             }

             function hookObrazek($params)
             {
                return $this->display(__FILE__, 'obrazek.tpl');
             }

          }
          ?>
a do pliku obrazek.tpl wrzucamy kod:
      <div class="block">
         <div class="block_content" style="padding:0px;background:yellow;">
         <a href="http://www.czasnabieszczady.pl">
                 <img src="{$base_dir}img/obrazek.jpg" border="0" />
          </a>
         </div>
      </div>
Tworzymy też obrazek o nazwie obrazek.jpg i wrzucamy go do katalogu  img naszego tematu w Prestashop.

Wchodzimy do administratora sklepu i instalujemy nasz moduł w zakładce  moduły (przy nazwie modułu klikamy na przycisk instaluj)

Ostatnią czynnością będzie umieszczenie naszego haczyka w miejscu gdzie chcemy go wyświetlić. Ponieważ nasz  haczyk nazwaliśmy  obrazek to kod który musimy wkleić do pliku w odpowiednie miejsce to {$HOOK_OBRAZEK}

Brak komentarzy:

Prześlij komentarz