« Sablonrendszer »

Igazából az a baj, hogy ha szigorúan el akarja választani az ember a kinézetet, és a programozást, akkor többet kell programozni. Úgy értem, nagyobb köröket kell lefutni, hogy egy használható rendszert dobjon össze az ember, aminek hosszabb távon a forráskódban való piszkálás nélküli könnyű kezelhetőség lesz az eredménye.

Jó, tudom: a Wordpress, a Drupal, a Joomla! és társaik mind-mind rendelkeznek sablonrendszerrel (template, sicc), de a HTML keveredik a PHP-val, ami szerintem csúnya – bár tény, hogy nagyobb szabadságot nyújt a fejlesztés során.

Igazából semmit sem akarok ezzel mondani, csak a sablonrendszer írása közben leginkább ezek voltak a tapasztalataim.

Kommentek RSS ikon
A bejegyzéshez érkezett kommentek, amiket RSS csatornán is követhetsz.
Én is ezért csinálom az új blogom ismét sablonossal, habár csak egy design lesz használatban.
Igen, dizájnváltást én sem tervezek, de azért apróbb módosításokra is nagy áldás tud lenni.
És olyat nem csinálsz, hogy ugyanez a dizájn, csak más színekkel? :)
Én meg olyan profin csinálom, hogy nem kell többet programozni :D
én úgyis csak magamnak írok blogmotort, mert még nem tudok annyira jót kódolni, hogy jó legyen másoknak is, úgyhogy a layout is mehet ahogy nekem tetszik…
miért hiszi mindenki azt, hogyha maga ír meg egy kistudású rendszert, akkor az sokkal jobb és több lehetőséget adó lesz, mintha egy nagy(obb) közösség teszi ugyanezt nagyban már évek óta? miért nem lehet olyan dolgokkal foglalkozni, amik még nem léteznek „készen”?
maat: mert azt teljesen magamnak írom. nem lesz jobb, csak saját. nem tucat. meg pl megélek lassan egy éve admin felület nélkül =)
Bodi: akartam, de nem ezzel a dizájnnal, mert ebben pont a színek tetszenek. :)

tiny: haha. :D

Vale: én is csak magamnak programozom, de hosszabb távon, persze.

maat: egy szóval sem mondtam, hogy jobb, mint ahogyan azt sem, hogy másnak írom. Pusztán amíg megismerek egy API-t, addig megírom a blogmotoromat úgy, ahogyan én szeretném. Egyébként leginkább ezek az érvek alapján nem szeretem a mások által írt kódokat. És pont arról akartam írni, hogy nem feltétlen lehet hűde nagytudásúan megírni, ha nem kevered a kódot a HTML-lel.

Vale: meg az én blogmotoromban ha hiba van, rögtön tudom hová kell nyúlni, míg egy WP-ben pl. nehezen igazodom el a sok külön fájl között.
saját blogmotor jó. azzal is tanul, gyakorol az ember. legalábbis én
engem az érdekel h vajon milyen lesz ez a sablonrendszer? mit tud, hogy műxik, etc?
én Smarty-t használok…
lippije: én is emiatt csinálom. :)

Haszprus: hát, most úgy néz ki, hogy folyamatosan írja ki a dolgokat (tehát több kiírás van a rendszerben), az új rendszer meg úgy fog kinézni, hogy szépen mindent lekér, és ha sikerült, akkor átadja az adatokat a sablonrendszernek, ami az adott részeket átalakítja. Pl, egy bejegyzés úgy néz majd ki, hogy:
<h2><postTitle></h2>
<div class="post"><postContent></div>
stb. Ennek én azért látom értelmét, mert a PHP-kódban (motorban) szigorúan csak az adatok, és a működés lesz, a kinézet elemeit külön tárolom. Ergo ha a kinézetbe kell belenyúlnom, akkor nem kell a forráskódot böngésznem. (És egyelőre a motor így kisebb is, mivel sok dolgot nem kell kétszer leírni, bár ez abból is ered, hogy mikor ennek a motornak az alapjait megírtam, még eléggé buta voltam hozzá (most sem vagyok okos, de talán jobb, mint akkor)). Remélem érted. :)

The Hedgehog: nem ismerem a smartyt. :)

suexID: igen láttam, akartam is kérdezni, hogy Bond-e a neved még. :D
maat:Ha lenne normális fejlesztői kézikönyv, akkor én WP-t használnék.
Meg ha – no offense – nem úgy nézne ki a WP forráskódja, mint ha egy adag szart öt borítékba csomagoltak, felraktak volna egy repülőgépbe, és utána még lehúzták volna a vécén.
„a HTML keveredik a PHP-val"
Máshogy hogyan generálod le az oldalt? Ha kevés, valid html-t íratsz ki php-val, akkor sablont írni is egyszerű lesz hozzá.
Mefi: és a ciklusokat miként kívánod megvalósítani? hol tárolsz egy-egy sablontartalmat? külön plaintext jellegű fájlokban?
ciklusok mellé persze kérdezhettem volna még elágazásokat is (pl. ha kicsit más stílusúan akarnád megjeleníteni a saját kommentjeidet a blogodon) meg még passz mi mindent

ha teljesen kiszorítod az utasításokat a sablonból akkor rengeteg különféle sablonra lesz szükséged (amikben rengeteg közös elem lesz), ha viszont arra gondolnál hogy a szükséges stílusbeállítást is php-ből adod majd át a sablonnak akkor erősen kérdéses hogy vajon a megjelenítési réteget sikerült-e eltávolítanod a php-ből :)

szóval csak felvetettem ezeket a problémákat, kiváncsi vagyok miként oldod meg őket :)
Ezt a kód és kinézet szétválasztást már viszonylag régen egész jól megoldották, XML és XSLT a két kulcsszó, cserébe tetűlassú lesz minden :) De én nem nagyon tudok olyan agyatlan dizájnt elképzelni, amit XSLT-ben ne lehetne leírni.
keepcop: pont ez a lényeg, hogy a HTML külön fájlokban tárolódik, a PHP csak az adatokat küldi.

Haszprus: mármint milyen ciklusokra gondolsz? Pl. a kommentek úgy fognak kinézni, hogy lesz egy fájl, amiben egy komment kinézete lesz, és az alapján folyamatosan tölti föl a tartalmat, a végén pedig (ha minden jól ment) kimenetre küldi.

Haszprus: igen, ezen én is sokat gondolkodtam, és a végén arra jutottam, hogy sok sablonfájl lesz. Lehet, hogy kicsit tré, viszont hosszabb távon kényelmes. A következő „beruházás” az a pluginokkal való bővíthetőség, de ezt azért jól át akarom még gondolni.

Tamás: az XSLT-s megoldás okés, csak itt az általad is említett probléma, ami a lassúság. Ennél lassabb meg ne legyen. :)
Bocs, még mindig nem értem teljesen: milyen formában (és minek) küldi a a php az adatokat?
Tegyük föl, hogy rámész az index.php-re. Ott szépen lekéri az x utolsó bejegyzést. Eddig a ciklusban volt egy kiírás, ami folyamatosan küldte a kimenetre a bejegyzéseket (persze a HTML-kóddal). Most ez úgy néz ki, hogy folyamatosan küldi a sablonozónak, ami csak egy ideiglenes változóban tárolja el, a végén pedig a <blogContent>-et lecseréli ennek az ideiglenes változónak a tartalmára. Ha ez megvolt (persze hiba nélkül), akkor fogja kiírni a fő tároló tartalmát.
Én a Methos-os féle template megoldást használom, amit a tutorial.hu-n is publikált, valamint amit a FishBlog-ban is használ. Nekem nagyon bevált a dolog.
Új komment

Itt az adott bejegyzésben elhangzottakhoz szólhatsz hozzá. Ha primitív, csúnya, vagy bunkó erkölcsről teszel tanúbizonyságot, tuti, hogy kimoderállak és rosszat mondok rólad. A hozzászólás nem kötelező, amit írsz vállald föl!

Ezeket az adatokat - ha a böngésződ kezeli a kukikat - csak egyszer kell megadnod, később módosíthatod.

Ha van gravatarod - és a gravataros e-mail-címeddel kommentálsz -, akkor az megjelenik. Ha nincs, vagy nem tudod miaz, akkor olvasd el az útmutatót és regisztrálj.

Neved: E-mail címed (nem jelenik meg): Webszájtod (ha van): Kommented: Mennyi kettő és egy összege?
Ez védelmi célokat szolgál, szimplán írd be a fenti összeadás összegét!

A kommentedet írhatod nagyobb mezőbe vagy akár formázhatod is, de ha nem szalonképes, akkor moderálom!

Ajánló
Ebben a témában, esetleg ezen a napon voltak még ilyenek is:

A mefiblog hivatalos böngészője a Chrome (2011. május 07., 06:04:12)
A statgép halála (2005. november 01., 03:00:00)
Razer Pro Click v1.6 (2009. január 14., 07:54:08)

Érdekességek
Száraz számok, pusztán csak tények:

Ez a bejegyzés 2012 napja született, 138 szóból, és 702 karakterből áll. Ajánlhatod bizonyos linkgyűjtő oldalaknak: