• Kontakt
  • O systemie
  • Strona główna
Pomoc
  • Założenia systemu
  • Praca z systemem
  • Opcje
  • Szablony
  • Moduły
    • Plik konfiguracyjny
    • Ustawienia modułu
    • Moduły standardowe
  • Edytor HTML
  • E-commerce - sprzedaż online
  • Inne zagadnienia
  • Przykłady rozwiązań

Moduły

Moduły w systemie Actualizer CMS są kluczowymi elementami, które rozszerzają podstawową funkcjonalność silnika strony. Moduł w systemie składa się z części zasadniczej - działającej w ramach front-endu, oraz, opcjonalnie, z części konfiguracyjnej.

Moduł, rozumiany jako część zasadnicza, jest plikiem zapisanym w konwencji [nazwa_modułu[.inc.php umieszczonym w katalogu /modules katalogu głównego strony. W systemie występują dwa typy modułów: obiektowy oraz nieobiektowy, moduły dzielą się również na globalne oraz zwykłe - aktywowane w wybranych gałęziach struktury serwisu.

Moduł nieobiektowy

Moduł nieobiektowy nie posiada narzuconej, formalnej konwencji, jest po porostu skryptem php dołączonym (includowanym
) przez silnik strony. Programista posiada pełną dowolność co do formy i struktury kodu. Zalecaną formą przekazania efektów działania modułu jest zdefiniowanie zmiennej tablicowej $mod[nazwa_modułu], która zostanie przekazana przez silnik strony do warstwy szablonów. Opcjonalnie moduł może zakończyć działanie skryptu i przekazać wyniki bezpośrednio do wyjścia, np. w przypadku wywołań typu AJAX.

Moduł obiektowy

Forma modułu obiektowego:

<?php

class moj_modul {

    var $params;
    var $varname = 'moj_modul';

    function run() {
        global $mod;  
        $mod[$this->varname]['wynik'] = $this->params['liczba1'] * $this->params['liczba2'];
    }
}

?>

Powyższy przykład ilustruje formę modułu obiektowego:

  • nazwa klasy jest zgodna z nazwą modułu
  • silnik strony includuje plik modułu tylko raz, niezależnie od ilości wywołań
  • przy każdym wywołaniu system inicjuje moduł w zmiennej globalnej $instance[ ] o kluczu zgodnym z nazwą modułu lub "nazwą zmiennej" modułu jeśli jest zdefiniowana w ustawieniach modułu
  • Jeśli moduł posiada zdefiniowaną "nazwę zmiennej", parametr klasy modułu "varname" zostaje zdefiniowany zgodnie z jej wartością
  • do właściwości "params"  jest przekazywana lista parametrów definiowanych w opcjach modułu
  • następnie wywoływana jest metoda run() 
  • zalecaną formą przekazania efektów działania modułu jest zdefiniowanie globalnej zmiennej tablicowej $mod[$this->varname], która zostanie przekazana przez silnik strony do warstwy szablonów

Moduł globalny

Domyślnie moduły są wywoływane tylko w tych kategoriach strony do których zostały przypisane w ustawieniach danej kategorii. Moduł zdefiniowany jako globalny jest wywoływany w każdej kategorii serwisu.

Kolejność wywoływania modułów

Kolejność wywoływania modułów zależna jest od wartości liczbowej w polu "priorytet" w ustawieniach modułu. Wyższa wartość oznacza że moduł zostanie wywołany w pierwszej kolejności.

Moduły "doklejane"

Jeśli moduł w ustawieniach systemu posiada zdefiniowane pole "uruchamiany razem z modułem" zostanie on niejako "doklejony" do wybranego modułu i będzie wywołany wszędzie tam gdzie jest wywołany moduł do którego zdefiniowano dołączenie.



Powered by Actualizer CMS