Tworzenie szablonu dla PHPNuke
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

Komentarze i opinie
E tam, da się stworzyć tabless layout pod PHP-Nuke, mi się udało. Tak, zajęło to z dwa tygodnie. Zmodyfikowałem większość modułów. Przepisałem na nowo kilkadziesiąt funkcji. Szkoda, że to usunąłem, bo można by spokojnie jako samodzielny twór w sieć wrzucić ;)
No właśnie, modyfikacja modułów :) W sumie i tak należałoby te wszystkie moduły przepisać bo sypią błędami strasznie, ale szkoda czasu na dopieszczanie syrenki, lepiej sobie zrobić własnego mercedesa :P
Tomasz, może jednak znalazłbyś ten swój twór gdzieś? :D Potrzebowałbym coś takiego, proszę o kontakt na vebmaster (@) o2.pl jeśli to jeszcze masz:-)
Dzięki, pozdrawiam
php-nuke to doskonałe narzędzie
na "surowo" może wydawać się denerwujący zwłaszcza jeśli łamią nas TURCY itp.
przy odrobinie wiedzy..........
no niestety nie jest doskonałe, a wręcz odwrotnie.. i może dlatego tak uważam bo mam za dużą wiedzę ;)
no mówię
przy odrobinie wiedzy
jak się jej ma za dużo...
to wystarczy notatnik
"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."
Tabelom śmierć - jeśli PHP Nuke nie pozwala na robienie stron na DIVach to tym gorzej dla PHP Nuke'a.
Ja tam wole php-fusion jest bardziej funkcjonalny i łatwiejszy.
Nowy komentarz