Drupal 7 teme po meri (theming)

Pozdravljeni,
po namigu kolega se obračam še na vas in sicer imam problem v Drupal 7 in izdelavo namenske teme z več t.i layouts oz. razrezi če vam je lubše v našem jeziku ..

no da preidem k bistvu
imam sledeči primer:
spletna stran 5 različnih prikazov .. kako te prikate ločiti v Drupalu 7 pri sami izdelavi teme, na kaj naj bom pozoren, kajti v Drupalu sem VELIK LAIK in rad bi se ga naučil (ubistvi sem se srečal z njim prvič).

Kolikor mi je stric google povedal zadnje dneve, še vedno ne vem kaj bi zame bila prava pot ...
no da še malo razložim
imam spletno stran XYZ
na njej so standardni linki v meniju kot so "home" "about" "gallery" problem je pa da so za vsak link posebej skoraj da druga stran se pravi ni to nek template ki samo skriješ bloke ampak je prav drugi css kajti se spremeni pozicija itd .. upam da sem dovolj jasen kakšna je situacija,

sedaj se pa obračam še na vas, vsak predlog je dobrodošel
se tudi priporočam za kak tutorial, mogoče celo v živo če je kdo iz okolice Nove Gorice, dam za pir (pa ne podkupujem da ne bo kdo napak razumel ;P )

20 odgovorov

v body tagu imaš vedno pod class section-STRAN, s pomočjo katerega potem lahko brez težav pišeš CSS za točno določeno podstran.

ok če te prav razumem ..
pač celotna vsebina ki ni v "wrapperju" pač daš class npr "stran" in tu je vsa vsebina za tisto stran ... tako imam rešeno ampak sedaj kje jaz to določim da ko bom na začesni strani kazalo prvi prikaz ko bom pa na kontakt pa drugi prikaz?

drupal sam doda te classe v BODY, tako da vse kaj moreš naret je da pogledaš source, pogledaš vse classe ki so v body tagu, ter za na primer section-about napišeš css, s katerim pač določiš unikaten display. če pa še rabiš napredno porazdelitev pa poglej module panels, kjer lahko za vsako stran prilagodiš strukturo, izgled pa potem spet rašuješ s CSS-jem.

ok hvala za sedanje napotke se bom poglobil sedja v to in poskušal rešit problem.. trenutno sem zmeden sm še glede ene zadeve ... nekje na spletu sem zasledil nekaj v smislu da so imena classov pri drupalu v naprej določena .. kuk je resnice v tem in ali se to uporablja?

http://drupal.org/node/223440 To ti bo v pomoč, vsaka stran ima lahko svoj "templejt".

ok če prav razumem pač template si razdelim na regions in tu not potem bašem blocke .. ok to mi je jasno, kako pa bi za isti region uporabil drugačen CSS glede na stran
naprimer sem v node/2 tu naj bi bil popolnoma drugačen CSS kot v node/3 ...
seveda tale region ima še podregije in več blokov ... nekateri 3 drugi 5 spet tretju ima 2 stoplca četrti ima 3 stolpce ... itd ... kaj se tu kar naredi za vsak prikaz posebej regijo in oblikuje, potem pač omeji glede na node kateri se takrat prikaže, kajti drugi so takrat onemogočeni ali se to počne na kakšen drugačen način?

se mogoče da na takšen način kot je naprimer:
page.tpl.php ... to je pač osnovni t.i. template
se da tu dodati za podstrani t.i. template?
npr:
za "About" oz. node/1 :
nekaj v smislu page--about.tpl.php? ali node--about.tpl.php?

za Location:
page--location.tpl.php ali node--location.tpl.php ?

itd.

če se ... kje to določiš v samem Drupalu ...

mogoče sem vse pomešal sedaj prosim popravite me .. nevem kje bi se lotil da si nebi življenja še bol zakompliciral kot je moja navada :D

node/1 ima v body class='nekaj nekaj page-node-1 nekaj nekaj' in potem za ta node napišeš posebaj css za celotno stran (pač .page-node-1 .blocks .left{}, .page-node-1 .footer{} itd), v tej smeri potem delaš za vsak node.

casper:
ok če prav razumem pač template si razdelim na regions in tu not potem bašem blocke .. ok to mi je jasno, kako pa bi za isti region uporabil drugačen CSS glede na stran
naprimer sem v node/2 tu naj bi bil popolnoma drugačen CSS kot v node/3 ...
seveda tale region ima še podregije in več blokov ... nekateri 3 drugi 5 spet tretju ima 2 stoplca četrti ima 3 stolpce ... itd ... kaj se tu kar naredi za vsak prikaz posebej regijo in oblikuje, potem pač omeji glede na node kateri se takrat prikaže, kajti drugi so takrat onemogočeni ali se to počne na kakšen drugačen način?

se mogoče da na takšen način kot je naprimer:
page.tpl.php ... to je pač osnovni t.i. template
se da tu dodati za podstrani t.i. template?
npr:
za "About" oz. node/1 :
nekaj v smislu page--about.tpl.php? ali node--about.tpl.php?

za Location:
page--location.tpl.php ali node--location.tpl.php ?

itd.

če se ... kje to določiš v samem Drupalu ...

mogoče sem vse pomešal sedaj prosim popravite me .. nevem kje bi se lotil da si nebi življenja še bol zakompliciral kot je moja navada :D

Poglej moj post pred tem.

načeloma ni pametno ga po nepotrebnem srat z templati :) edino če še zdaj ne vem kaj točno bi rad dosegel :P

tole bi rad v drupal spravil klik
in rad bi imel čimbolj pregledno kodo ... zame bi bilo odlično da imam v tem primeru za front en template, za "about" drugi template ... itd ... upam da sem dovolj jasen ...