Idea
Xt to system szablonów, którego głównym założeniem są czyste szablony, pozbawione wszelkiego rodzaju pseudo-języka. Do poszczególnych znaczników możemy dodawać wartości korzystając z metody add, która obsługuje składnię css3. Dzięki temu, nie musimy uczyć się żadnej składni, aby pisać szablony.
Wykonanie
System składa się z pliku głównego - core, który w razie potrzeby ładuje odpowiednie wtyczki (plugins). Całość napisana jest oczywiście obiektowo. Osobne klasy, które są niezbędne do działania i nie traktowane jak wtyczki to, m.in. getnode (odpowiedzialny za obsługę css3) czy fragment (pozwalający wczytać dokument pozbawiony nagłówka)
Modyfikacja
Xt jest na licencji lgpl, co pozwala na swobodną jego modyfikację. Jeśli masz jakieś pomysły - daj mi znać, bądź też napisz coś samemu i wyślij mi gotowe modyfikację. Jestem otwarty na wszelkie pomysły.
Przykładowy kod w xt
Oto on.
include('xt/xt.class.php');$xt=new xt('templates/main.html');$fragment=$xt->fragment('templates/news.html');$xt->add('#content', $fragment);$xt->display(1);
Podany kod wczytuje zawartość pliku templates/news.html do elementu o id równym content. Poza tym, jeśli tyko przeglądarka na to pozwala - wyświetla dokument jako application/xhtml+xml.
Jedną z ciekawszych możliwości jest fantastyczna obsługa formularzy, np.:
$xt->set('#formularz > input[name="test"][type="text"]', array('value'=>'wartość', 'style'=>'color:red'));
Dzięki tej prostej linii nie musimy dodawać niczego do formularza, żadnego pseudo-języka! Nasze pole formularza #formularz typu text otrzyma wartość równą wartość oraz czerwony kolor.
Xtbeta
Zapraszam wszystkich do testów, modyfikacji i zgłaszania błędów, czy to na forum, czy bezpośrednio do mnie.