Sziasztok
Szeretném megtanulni a téma készítést drupalhoz. A témák átírása jól megy. Megnéztem a lullabotos tutorialokat. 2 dolgot nem igazán értek.
Az egyik mi az a template fájl? Ha jól sejtem ebben meglehet változtatni a különböző tpl fájlok kimenetét anélkül hogy a témába be kéne másolni ezeket a fájlokat és átírni? (pl: node.tpl.php) Itt van egy kép hogy ezek a tpl fájlok hogy épülnek egymásra http://pingv.com/f/imagecache/teaser_full/blogimgs/d7-templates-regions..... Csak ne hogy valaki másra gondoljon.
Illetve a másik dolog amiről elég szó esik a preprocess and process functions ról mik ezek?
Próbálgattam videókat keresgetni hogy megértsem pontosan hogyan működik az egész de komolyabb videókat nem igazán találtam. Valójában egy teljes témát akarok felépíteni váz fájlok nélkül(pl Zen). Így ha be tudnám fejezni a témát utána biztos megérteném az egészet. Grafikai tudással elég jól állok csak a téma készítést nem értem teljesen.
Huh, jól bele kérdeztél...
Huh, jól bele kérdeztél... :)
A template fájl: gyakorlatilag ez a sablon html (lehet más is, de maradjunk ennél), amit a drupal feltölt adatokkal. Az adatbázisban lévő adatokat először előszedi, megcsócsálja, kirajzolja.
pl, node/1-es tartalom, egy sima oldal. Először a node/1 alapján megkeresi az 1-es idjű tartalmat, betölti. Ha vannak hozzá egyéb mezők, akkor azt is (képek, pl).
Ezután jön az, hogy olyan formára kell alakítani, ahogy meg kell jeleníteni. Ez a mezők sorrendjétől kezdve az elhagyja-e a labelt, formázásokig bármi lehet. Ha ez megvan, akkor meg kell jeleníteni. Erre való a theme() fv, és a themelés - sminkelés.
A theme vagy smink réteg már nem szabad, hogy alkalmazás logikai dolgokat csináljon (pl, hozzáférés a teljes body elemhez), ezeknek már meg kell lenniük, mire a megjelenítéshez érünk.
A smink réteg csak megjelenit. Függvényeken, vagy sablon fájlokon keresztül. Úgy kell elképzelni d7-ben hogy kapsz egy tömböt, minden megjelenítendő adattal, csinálsz vele valamit. Egészen apró dolgoktól kezdve - mezők, az egyre nagyobbakig, block, node, page, html. A rajzod jól szemlélteti ezt.
A fenti képből kiindulva: megkeresi a node-ot. A node mezőkból áll. A mezők megjelenítéséhez szükséges adat bennek lesz egy tömbben. A mezőt a field.tpl-en keresztül jeleníti meg. A fieldekből összeáll a node.tpl ($content változó már tartalmazza az összes sminkelt mezőt). Aztán jön az, hogy van-e hozzá megjegyzés. Ha van, akkor megjegyzés mezők -> megjegyzés (comment.tpl) ->megjegyzés wrapper (comment.wrapper).
Ez megy a page.tpl-be. Ide kellenek még régiók, amik blokkokból állnak: minden blokknál a fenti folyamat lejátszódik (block.tpl). A blokkok régióban region.tpl. Majd az egész page.tpl-t a html.tpl veszi körül.
A preprocess pedig abban segít, hogy az elkészült adatokat a megjelenítés előtt még át tudd alakítani: pl. page_preprocess: kell egy speciális css osztály, ami tartalmazza a tartalom típust. Ekkor a preprocess-ben a kapott tömböt kiegészíted: a body_classes tömbhöz hozzáfűzöd a saját osztályaidat.
Igazából azt kell felfogni: mindere van egy alapértelmezés - node.tpl.php. Ha te sajátot szeretnél a story tartalmadnak, akkor csinálhatsz egy node--story.tpl.php-t. Ekkor a story típusú tartalmak már ezzel fognak megjelenni. Ha a 17-es node-hoz szeretnél egy sablont (mert az az egy kicsit másképp kell megjelenjen), akkor a node--17.tpl.php-t hozd létre, és annál az egy tartalomnál ezen sablon fogja megjeleníteni a tartalmad.
http://drupal.org/node/171194 - Overview of theme files
http://drupal.org/node/1089656 - Template suggestions - érdemes végignézni. Akár tartalmanként eltérő sablonod lehet. De minden blokknak.
Nagyon jó könyvek vannak a témában, elsősorban angolul - magyarul csak Gusztáv könyvét tudom D6-hoz. Ha konkrétabb, gyorsabb segítség kell -> #drupal.hu csatorna az irc-n.
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
Hú, ez jó lett
nem akarod ezt egy kézikönyv lap formájára átírni? Nagyon elkelne ott is. (Csak arra gondolok, hogy ne a kérdésre válaszolva, hanem önmagában is érthető legyen.)
Nagy Gusztáv
hmm... táborban egyik
hmm... táborban egyik taszkom? :)
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
+1
+1
---
http://drupalaton.hu
.
Kösz az infot , így már értem. Néztem Gusztav könyvét de elég kevés info van benne a téma készítésről. Ha valaki szinten most tanulgatja a témakészítést én ezt ajánlom, ennél jobbat eddig még nem találtam. http://pingv.com/blog/a-peek-at-drupal-7-theme-system-changes
Van több írása is, illetve pár videó. Kevés angollal is ki lehet hámozni a lényeget.
En is koszonom! :)
Ez valoban nekem is nagyon jol jott! Mar nezelodtem a neten ilyesmik iranyaban de magyarul nemsokat talaltam. Ide irok mert gondolom a temaba vag, ha valakinek ilyesmikrol van valami olvasnivaloja ne kimeljen a linkekkel :)
Koszonom.
Drupal 7 smink alapokról
Sziasztok, ez a cikk arról szól, hogyan lesz smink egy html/css fájlpárból.
Nem tudom, hogy erre vagytok-e kíváncsiak, de mivel az elején én ilyesmit próbáltam találni mindenhol, hát összeszedtem, amire jutottam - hátha valakinek pont ez kell:
http://netcompass.eu/articles/drupal/create-drupal-theme
(i18n-nél még nem tartok, ezért van meg csak angolul)