Tworzymy moduł sklepu PrestaShop

,

prestashop sklep

Struktura plików modułu

Moduł sklepu PrestaShop składa się z wielu plików, które są przechowywane w folderze o nazwie takiej samej jak moduł. Cały folder modułu jest przechowywany w katalogu /modules

Główny plik modułu nazwa_modułu.php musi zaczynać się od kodu: <?php if(!defined('_PS_VERSION_')) exit;

który zabezpiecza możliwość załadowania pliku bezpośrednio.

Należy zauważyć, że zgodnie z wymogami PrestaShop Coding Standards, nie używamy znacznika zamykającego PHP.

Główna klasa modułu

PrestaShop używa programowania obiektowego, to znaczy kod sklepu budowany jest na obiektach. Obiekt w PHP jak i innych językach programowania definiuje się przez słówko class.

Główna klasa modułu musi posiadać taką samą nazwę jak moduł i folder.

class nazwa_modułu extends Module
{
}

Nasza klasa musi być rozszerzeniem klasy Module. Aby wykonać tak zwane dziedziczenie, po nazwie klasy dopisujemy słowo kluczowe extends czyli mamy extends Module

Konstruktor modułu

Konstruktor to funkcja w klasie, która jest automatycznie wykonywana przy tworzeniu nowego obiektu tej klasy.

 public function __construct()
  {
    $this->name = 'nazwa_modułu';
    $this->tab = 'front_office_features';
    $this->version = '1.0.0';
    $this->author = 'autor';
    $this->need_instance = 0;
    $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); 
    $this->bootstrap = true;
 
    parent::__construct();
 
    $this->displayName = $this->l('Nazwa modułu');
    $this->description = $this->l('Opis modułu.');
 
    $this->confirmUninstall = $this->l('Jesteś pewien, że chcesz odinstalować moduł?');
 
    if (!Configuration::get('nazwa_modułu_nazwa'))      
      $this->warning = $this->l('Nie podano nazwy');
  }

Moduł sklepu PrestaShop – jest to tylko minimum jakie musimy mieć aby zainstalować moduł.

Tabela dostępnych opcji dla atrybutu tab i ich odpowiednia sekcja na liście modułów.

atrybut tab sekcja modułu
administration Administracja
advertising_marketing Marketing i Reklama
analytics_stats Analityka i Statystyka
billing_invoicing Podatki i Fakturowanie
checkout Kontrola
content_management Zarządzanie zawartością
dashboard Pulpit
emailing Wysyłanie e-maili i SMS
export Eksport
front_office_features Funkcjonalność sklepu
i18n_localization Lokalizacja
market_place Rynek
merchandizing Marketing
migration_tools Narzędzia migracji
mobile Mobilne
others Pozostałe moduły
payments_gateways Płatności i bramy, operatorzy
payment_security Bezpieczeństwo płatności
pricing_promotion Ceny i Promocje
quick_bulk_update Zbiorcze aktualizacje
search_filter Wyszukiwanie i filtrowanie
seo Optymalizacja SEO
shipping_logistics Wysyłka i logistyka
slideshows Pokazy slajdów
smart_shopping Inteligentne zakupy
social_networks Sieci społecznościowe
1 Odpowiedz
  1. Admin
    Admin says:

    Plik modułu musi zawierać jeszcze funkcje install i utworzony tak zwany hak np. do stopki: registerHook('footer')

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

Odpowiedz

Chcesz dołączyć do dyskusji?
Pisz śmiało!
Proszę, nie krępuj się pisać!

Dodaj komentarz

Twój adres email nie zostanie opublikowany.