Krótka instrukcje użytkowania
Wiki
Dokumentacja zostanie docelowo przeniesiona na wiki. Jeśli możesz - pomóż ją uzupełnić.
Szybki start
Szablon
Przykładowy szablon używany w całym dokumencie:
Jak łatwo zauważyć - szablon jest zwykłym dokumentem html. Nie zawiera żadnych dodatkowych znaczników czy pseudo-języka.
Pierwsza strona z użyciem xt
Poniżej kod php odpowiedzialny za wyświetlenie strony. To najkrótszy kod, jakiego potrzebuje xt, aby wyświetlić stronę.
include('xt.class.php');
$t=new xt('szablon.html');
$t->display();
Kod wynikowy jest wyświetlany automatycznie pod kodem php, zgodnie z najnowszą wersją szablonów.
W linii 1 includujemy plik xt.class.php. W powyższym przykładzie znajduje się on w tym samym folderze, co plik php. Następnie tworzymy nowy obiekt xt i podajemy jako parametr nazwę szablonu (szablon jest poprawnym, zwykłym plikiem html, stąd jego rozszerzenie .html). Na koniec wyświetlamy całość strony metodą display().
Na razie, póki nie uporam się z kodowaniem szablon prawdopodobnie musi mieć kodowanie utf-8. Wszelkie testy wskazane.
System obsługuje już wszystkie inne kodowania. Jedynym wymaganiem jest umieszczenie go w sekcji meta lub nagłówku xml.
Oczywiście powyższy szablon nie ukazuje nic ciekawego, poza tym, że wyświetli kod jako application/xhtml+xml przeglądarkom, które potrafią go obsłużyć.
Funkcja add
Podstawową funkcją systemu szablonów jest funkcja add o następującej składni: add( obiekt, wartosc ).
Odwoływanie się do obiektów jest identyczne z css. W razie jakichś problemów proszę korzystać z tematu o xt na forum.
Obsługiwane selektory:
- *
- E
- E[foo]
- E[foo="bar"]
- E[foo~="bar"]
- E[foo^="bar"]
- E[foo$="bar"]
- E[foo*="bar"]
- E[hreflang|="en"]
- E.warning
- E#myid
- E F
- E > F
- E + F
- E ~ F
Znaczenie selektorów wyjaśnione na stronach w3c
Wprowadziłem też jedną nowość - jeśli obiektów jest więcej - możemy wybrać n-ty element w następujący sposób: [n-1], (w php i wielu językach programowania numeruje się od 0) [n] (kompatybilność z xpath) np.:
div[1]- pierwszy obiekt o nazwie divdiv > p[atrybut="wartosc"][2]- drugi obiekt pasujący do wzorcadiv > p[atrybut="wartosc"]
Poniżej przykłady:
include('xt.class.php');
$t=new xt('szablon.html');
$t->add('#akapit', ' Do akapitu dodajemy dodatkową treść, testując funkcję add()');
$t->display();
include('xt.class.php');
$t=new xt('szablon.html');
$t->add('p.akapit[1]', ' Do akapitu dodajemy dodatkową treść, testując funkcję add()');
$t->display();
include('xt.class.php');
$t=new xt('szablon.html');
$t->add('a[href^="http"][1]', ' (link zewnętrzny)');
$t->display();
Funkcja set
Funkcja ta pozwala na zmianę atrybutów danego obiektu. Jej składnia jest następująca: set( obiekt, array( 'atrybut'=>'wartosc', 'atrybut'=>'wartosc',...))
Obiekt pobiera się tak jak w przypadku add(). Oczywiście krótki przykład:
include('xt.class.php');
$t=new xt('szablon.html');
$t->set('akapit[1]', array('title'=>'To jest testowy akapit', 'style'=>'background:blue'));
$t->display();
W przypadku funkcji set() mamy jeden magiczny atrybut - data, który oznacza zawartość tekstową danego obiektu, np:
include('xt.class.php');
$t=new xt('szablon.html');
$t->set('akapit[1]', array('title'=>'To jest testowy akapit', 'style'=>'background:blue', 'data'=>' A to dodatkowa treść'));
$t->display();
Dalsze funkcje
Innymi ciekawymi funkcjami jest insertBefore, insertAfter, css, js, setStyle. Funkcja add obsługuje również pętle.
Opis podanych funkcji będzie stopniowo dodawany, zatem proszę o wyrozumiałość.
Mam nadzieję na szybkie przejście na dokumentację opartą o wiki. Muszę tylko wymyślić jakiś silnik weryfikacji szablonów, aby złośliwy kod nie zniszczył plików serwera.