Tworzenie szablonu dla PHPNuke

2007-02-24 17:00

Kolega postawił sobie ostatatnio serwis na PHPNuke (nie wnikam w jego wybór), a że miał problem z wyglądem postanowiłem mu trochę pomóc i przygotować nowy szablon. Z początku chciałem wszystko zbudować w oparciu o div, ale budowa głównego modułu wiadomości nie pozwala na to do końca, toteż musiałem wrócić do tabel.

Przygotowanie szablonu sprowadza się do utworzenia w katalogu themes/ nowego katalogu, którego nazwa będzie nazwą nowego szablonu. Następnie umieszczamy odpowiednią strukturę plików.

images/ - zawiera standardowe obrazki jak logo, pasek do sondy...
images/menu/ - zawiera obrazki do menu, nie wymagane
images/admin/ - zawiera obrazki do panelu administracyjnego, nie wymagane
style/style.css - plik ze stylami css
theme.php - tutaj jest definicja naszego szablonu

W pliku theme.php musi zdefiniować kilka funkcji, które budują nam szablon.

1. openTable() i closeTable()
Funkcje obramowują część elementów na stronie, np. wiadomości (nie nowości).
2. openTable2() i closeTable2()
Podobnie jak poprzednie tylko dotyczy elementów w panelu administracyjnym.
3. themeHeader()
Wyświetalnie górnej części (reklam, logo), a także lewej strony oraz otwarcie środkowej części.
4. themeIndex()
Domyślnie włączony jest system nowości (news) i dlatego w tym miejscu definiujemy ich wyświetlanie na stronie głównej.
5. themeArticle()
Określamy wygląd pojedynczego wpisu o nowości.
6. themeSideBox()
Wygląd modułów, które dołanczane są po lewej i prawej stronie.
7. themeFooter()
Zamykanie środkowej części, dodanie prawej oraz wstawienie stopki.

Najlepiej oczywiście bazować na istniejących już plikach theme.php, ale na użytych tam elementach HTML radzę się nie wzorować bo nie dość, że często są błędy w składni to do tego archaiczny. Największą bolączką jest fakt, że część danych wyświetlamy sami, a niektóre funcje od razu wysyłają nam dane do przeglądarki co mnie trochę wkurzało i musiałem te dane buforować przez użycie ob_start(), ob_get_contents() i ob_end_clean().

Proszę nie wyrażać swoich opinii na wyżej wymieniony system CMS :PPP Tak wiem jaki jest :) Dziękuje.

Słowa kluczowe: CMS, Techblog, cms, phpnuke, szablony, theme, artykuł, blog

Projektowanie i tworzenie stron www w PHP5. Opisy i recenzje oprogramowania typu cms, blog, wiki, open source.
Wszelkie prawa zastrzeżone.