Trijų išsiplečiančių stulpelių šablonas
Trečiadienis, 22 Gruodis 2010 23:52
Parašė di3sel
Peržiūrų: 1080
Trijų stulpelių išdėstymas, turbūt, vienas dažniausiai naudojamų svetainės išdėstymo būdų Joomla šablonuose. Šiame straipsnyje pasistengsiu paaiškinti, kaip sukurti trijų savaime išsiplečiančių stulpelių Joomla šabloną.
Jei kada nors kūrėte Joomla šabloną, tikriausiai teko susidurti su uždaviniu, kai tam tikruose puslapiuose vienas ar kitas stulpelis yra nepublikuojamas, savaime suprantama tuomet norisi, kad puslapio turinio stulpelis išsiplėstų ir užpildytų tuščią vietą. Yra daugybė būdų, kaip taip padaryti, bet asmeniškai man labiausiai patinka šis...
Žemiau pateiktame pavyzdyje pateikiu tik tą kodo dalį, kuri atvaizduoja anksčiau minėtus tris stulpelius:
| index.php | |
1 |
... |
| layout.css | |
1 |
... |
Tokiu atveju gausite paprasta trijų stulpelių išdėstymą, kur kairysis ir dešinysis stulpelis yra 200px pločio, abu atskirti nuo viduriniojo stulpelio 10px tarpais. Vizualiai toks išdėstymas atrodytų maždaug taip:

Tačiau kas nutiks jei viename iš puslapių dešinėje pozicijoje išjungsime visus modulius? Dešinėje puslapio pusėje liks 200px tarpas, o puslapio HTML kode vistiek bus rodoma #right CSS klasė. Gausime maždaug tokį vaizdą:

Savaime suprantama, toks variantas yra nepriimtinas ir to mes negalime sau leisti. Štai kaip galime tai ištaisyti:
Papildykime index.php failo kodą taip, jog pozicijoje išjungus visus modulius nebūtų atvaizduojama jos CSS klasė. Tuomet kodas atrodys taip:
| index.php | |
1 |
... |
Viena problema išspręsta, tačiau pagrindinis stulpelis vis dar 570px pločio. Centrinės puslapio dalies pločiui apskaičiuoti šablono kataloge sukurkime dar vieną failą, pavadinkime jį pvz. vars.php. Žemiau pateikiu vars.php failo turinio pavyzdį:
| vars.php | |
1 |
<?php |
Jau beveik baigėme, telieka atlikti kelis pakeitimus:
Šablono index.php failo viršuje nurodome, kad kraunant šabloną būtų įtraukiamas ir vars.php failas:
| index.php | |
1 |
<?php |
Taip pat tame pačiame index.php faile reikia pakoreguoti #main css klasę, taip, kad stulpelio plotis būtų kaip vars.php faile.
Tam šią eilutę:
1 |
<div id="main"><jdoc:include type="component" /></div>
|
pakeičiame į:
1 |
<div id="main" style="width=px"><jdoc:include type="component" /></div>
|
Kaip jau turbūt supratote, stulpelio plotį nurodome tiesiogiai index.php faile, todėl CSS faile jo bereikia. Pašaliname klasės #main plotį faile layout.css:
| layout.css | |
1 |
.. |
Štai ir viskas. Dabar pagrindinis puslapio stulpelis automatiškai užpildys tuštumą.
Šiame straipsnyje pateikiama tik pati įdėja ir pavyzdys kaip ją įgyvendinti į pagalbą pasitelkiant šiek tiek PHP kodo. Visa kita - Jūsų vaizduotės reikalas :)
Sėkmes eksperimentuojant, kaip visada laukiu papildymų, pataisymų ir pastabų komentaruose.
Joomla123.lt is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.
The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries.


