garland módosítása

papa71 képe

Készsítettem egy módosított garland sminket. Az egyik lényeges momentuma az, hogy a felső színátmenet helyén egy background képet jelenítek meg. Ennek a beállítása alapból a style.css-ben van. Onnan kiemeltem, és behelyeztem a page.tpl.php megfelelő div tagjába a style propertybe. Azt szeretném megoldani, hogy ezt az értéket (url-t) egy belső változóból tudjam kiolvasni a page.tpl.php-ban, valamint a smink adminisztrációs beállító oldalán változtatni lehessen az értékét.
Tehát hol hogyan tudok a smink adminisztrációs oldalhoz egy új blokkot definiálni, esetleg egy meglévőt kibővíteni néhány mezővel? Valamint a definiált mezők értékeit egy belső változóba helyezni? Egyáltalán, merre keresgéljek?
Előre is köszönök bármilyen segítséget, még nagyon láma vagyok a drupalban különben.

Fórum: 
Illyés Edit képe

Ha jól értem, akkor cserélgetni szeretnéd a fejléc háttérképét. Ezt egyelőre csak a style.css módosításával lehet elérni. Kerülő megoldás, ha a headerbe teszel egy blokkot, ami tartalmazza a fejléced összes szövegét, és annak a hátterét módosítgatod kézzel a blokk beállítás oldalán, ekkor nem kell hozzáférés a fájlokhoz.

Valahol mintha olvastam volna, hogy a Drupal 6-ban lehet majd smink változókat definiálni és a smink admin oldalon beállítani. Lásd a HEAD verziót a Drupal.org-on.

Ha van valami rendszer abban, ahogyan a háttérképek változnak, akkor lehet a sminkbe programozott megoldást beépíteni – pl. minden kedden a piros pettyes kép legyen a háttér, stb. – ez sminkben megoldható.

0
0
papa71 képe

Ha jól értem, akkor cserélgetni szeretnéd a fejléc háttérképét.

Igen, de nem programozottan, hanem admin felületből.



Valahol mintha olvastam volna, hogy a Drupal 6-ban lehet majd smink változókat definiálni és a smink admin oldalon beállítani. Lásd a HEAD verziót a Drupal.org-on.

Az szomorú, hogy "még nem lehet" programozás nélkül. De gondolom ahol a mostani smink admin oldal tartalma felépül azt a részt át tudom kicsit írni, ha már ez a fixa ideám. A bajom leginkább az, hogy nem találom hogyan és miből állítódik elő az adminisztrációs form. Nincs tipped, hogy merre keresgéljem?

0
0
Illyés Edit képe

Az includes/theme.inc fájlban van egy theme_get_settings() függvény, ahhoz hozzá tudod adni a beállítást alapértékkel. A hozzá tartozó űrlap kialakításához pedig a modules/system/system.module fájlban található system_theme_settings() függvény módosítása szükséges.

Én mondjuk nem állnék neki a motort hekkelgetni egy megjelenítési probléma miatt, de ez a te dolgod...

0
0
pp képe

Kérdezném, hogy a sitelogo-t használod-e? (az alapból egy drupalicon) Mert ha nem akkor kár vesződni, egyszerűen azt kell a háttérképnek beállítani, és akkor már meg is oldottuk a problémát, színes szagos feltöltős formmal egyetemben.

Ha ez nem elég, akkor én azt csinálnám, hogy létrehoznék egy modult, ebben a hook_form_alter függvénnyel kibővíteném a smink beállító formot. Beletennék egy fájlfeltöltő inputot, a fájl nevét pedig beletenném egy drupal változóba, majd ezt a változót a sminkben hozzárendelném egy smink változóhoz.

pp

0
0
Illyés Edit képe

Kérdezném, hogy a sitelogo-t használod-e? (az alapból egy drupalicon) Mert ha nem akkor kár vesződni, egyszerűen azt kell a háttérképnek beállítani, és akkor már meg is oldottuk a problémát

Ezt nem értem :( Megadja a style.css-ben, hogy a header háttere legyen a smink admin oldalon keresztül feltöltött hatter.jpg fájl. Aztán ezt a hatter.jpg-et cserélgeti. De ez nem fog látszani, mert a böngészők betárazzák a hatter.jpg első verzióját. Vagy valamit figyelmen kívül hagyok?

0
0
pp képe

Akkor azt mondod, hogy ha kicserélem a logo-t akkor az sem fog változni?

A kérdező eleve a page.tpl.php-ba tette bele a hátteret, gondolom így:

<div id="header" style="background-image: url('<?php print check_url($logo);?>');">...</div>

Ettől fogva, ha a kicseréli a "logo"-t akkor kicseréli a header hátterét. (most vonatkoztassunk el attól, hogy a logo egy aranyos kis kerek valami, hisz lehet az egy nagy benga téglalap is;))

Persze ez csak akkor jó megoldás, ha nem használja a logo-t, ha használja akkor is meg tehet annyit, hogy erre a háttérképre szépen ráteszi, csak ezt már nem biztos, hogy olyan egyszerű elmagyarázni a júzernek ;))

pp

0
0
Illyés Edit képe

OK, így már világos, írja is a kérdező, hogy page.tpl.php-ba tette. Egyébként a logó képet simán bele lehet hardkódolni a sminkbe, és akkor felszabadul a $logo változó.

0
0
papa71 képe

Telibe találtad! Így csináltam.
Sajnos a logót használom kis kerek valamire, tehát nem jó megoldás. Bár gondoltam rá, de az ugye nem background, tehát ki tud lógni a header részből nagyon :(
De megoldottam! :) A megoldás az lett, hogy a colorból kiindulva készítettem egy saját modult a hangzatos hdbg néven. Nem tesz mást (még) mint kirak a módosított garland theme admin oldalára egy editboxot, amelybe be lehet írni a háttérkép path-ját. Majd a page.tpl.php-ban ezt kiolvasom. (A saját modullal sikerült elkerülni, hogy a system-ben keljen nyúlkálni.) Ez a kiolvasás az egyetlen nekem nem tetsző része a kódnak. Így fest:

variable_get('hdbg_garland_mod2_hdbg_path', $hdbg_path);

Hogyan tudnám ezt az értéket csak egyszerűen variable_get nélkül meghivatkozni? Mint ahogyan pl a logo-t meghivatkozza a template a $logo -val? Hogyan kéne elmentsem a modulomban?
0
0
Illyés Edit képe

Sajnos a logót használom kis kerek valamire

És ez állandóan változik?

<div id="header" style="background-image: url('<?php print check_url($logo);?>');">
<div id="logo"><img src="ut/a/kis/kerek/valamihez/logo.jpg" alt="logó"/></div>
// ide jöhet a fejléc többi eleme: szlogen, főmenü, stb.
</div>
0
0
papa71 képe

Jogos a meglátás a logo-nem változik, tehát a $logo változó tartalmát fel tudtam volna használni, de hát most már van saját változóm, meg modulom. Már csak arra akarok rájönni, hogyan definiálhatok könnyebben elérhető változót mint pl a $logo.

0
0
Illyés Edit képe

Már csak arra akarok rájönni, hogyan definiálhatok könnyebben elérhető változót mint pl a $logo.

A változók alapvetően egyformák, csak vannak olyanok, amelyeket sminkből is elérhetővé tettek. Ezek sorát lehet bővíteni:

Making additional variables available to your templates

0
0
papa71 képe

Igen köszönöm erre volt szükségem.

0
0