-
Notifications
You must be signed in to change notification settings - Fork 21
Arhitectură frontend
Acest document încearcă în mare să descrie un pic arhitectura frontend-ului (ce este în directorul www
) pentru cei care doresc să facă schimbări la site.
Documentul nu este complet și va trebui actualizat pe măsură ce dezvoltatorii îl vor citi și vor găsi că lipsesc chestii din el, pentru moment este doar un schelet cu ce mi se pare mie important.
NOTĂ: Ca orice documentație, este posibil ca să devină out of date.
index.php: este pagina de intrare. Pagina asta știe fie să redirecteze către blog (wordpress), fie să încarce site-ul.
hp-index.php: este prima pagină a site-ului. Se uită la cid
și în funcție de valoarea asta încarcă php-urile care trebuie.
person.php: este responsabil cu afișarea paginii unei persoane anume.
Pentru că recent pagina persoanelor este
hartapoliticii.ro/?name=nume+persona
, primul lucru pe care îl face person.php este să caute persoana respectivă.Apoi afișează pe rând:
- trailul de breadcrumbs de deasupra pentru pagini de genul ăsta http://hartapoliticii.ro/?name=alma+anastase+roberta&exp=news
- partea din stânga a paginii cu poza, faptele din presă și știrile în care e menționat. Partea asta este afișată static, cele două secțiuni sunt hardcoded în person.php
- conținutul. Partea asta este afișată dinamic, pentru fiecare persoană în tabela
people_history
sunt prezente toate modulele care trebuiesc afișate pentru persoana respectivă. Pentru fiecare din aceste module este încărcat php-ul corespunzător din/www/mods/...
.Secțiunile sunt delimitate în
person.php
prin comentarii.Dacă vrei să adaugi o secțiune pe coloana din stânga:
- Crează un
mods/<nume_modul>_compact.php
care să afișeze ce vrei tu.- Include-l în
person.php
așa cum este inclusmods/news_compact.php
. For now hardcoded.Pentru o secțiune în partea de conținut pașii sunt aceeași, doar că nu mai este hardcoded și pentru fiecare persoană unde vrei să fie afișat modulul respectiv va trebui să adăugăm un entry în tabela de
people_history
.
/www/pages/*: În directorul ăsta sunt paginile principale ale site-ului, cu câteva funcții comune pentru afișat subpagini.
/www/pages/cdep_2008
- este un exemplu bun de cum anume sunt gândite aceste pagini (nu foarte consistent și nu foarte clar, va trebui curățată arhitectura asta).
cdep_2008_page.php
- setează titlul paginii, e cam boilerplate care ar trebui schimbat, în principal încarcă/pages/submenu.php
.config.php
- este încărcat de submenu.php și de acolo se afișează secțiunile principale ale paginii, cu titlul și link și fiecare din ele specifică ce fișier anume trebuie încărcat.Arhitectura asta de pagini este cam messy și ar trebui făcută mai clară.