Saját menü block sminkelése

bimbo000 képe

Sziasztok!

Hogyan tudom sminkelni a saját menüket?

Készítettem egy új menüt, ami a block-menu-74 id-t kapta.
Igy ilyem megoldást szeretnék, mint pl amit a keresore alkalmazok:

template.php

function phptemplate_search_theme_form($form) {
  return _phptemplate_callback('search_theme_form', array('form' => $form), array('search-theme-form'));
}

search-theme-form.tpl.php

<div class="header_search_box">
...
</div>

Szóval a lényeg, hogy teljesen testre tudjam szabni a menüt. Szükségem lenne mind a template.php-be a kódra, illetve, hogy hogyan iratom ki a menüt a block-menu-74.tpl.php- ben a menüt. Remélem érthető a kérdésem.
Előre is köszi a segítséget!

Fórum: 
pp képe

A block-ot tudod így formázni a tartalmát (content) nem. Meg kell keresned a menu.module-ban , hogy mi állítja elő a menüt és azt kell sminkelned.

pp

0
0
eMeLA képe

Csak sejtem mit akarsz, de a menük megjelenítését az alábbi fügvény átírásával lehet alakítani.

A theme_links()

A template.php-be bemásolod, a theme_ részt átírod a sminknevedre.

0
0

...mit tudok: http://web.termuves.hu

bimbo000 képe

Szia!

Köszönöm a segítséget, épp erre volt szükségem.

A több hozzászólónak: Nálam nem a css-ezéssel van a gond, meg a menü elrendezésével. Hanem a lényeg, hogy pl. a menü kiiratás elő, közben, illetve után is tudjak div elemeket beszúrni,testreszabni. De egyébként köszönöm szépen, hogy próbáltatok segíteni.

0
0
attb2 képe

Készítettem egy saját menüt, azt betettem egy block-ba és szeretném a megjelenítését beállítani víszintesre. (Nice_menu modult néztem nem jó. Mivel nem primary és secondary menü ezért nem tudom a theme_menu_links függvényt se használni.)

Valamilyen módon lehet egy block-nál egyedi azonosítót megadni, ami NEM az block tábla delta mezője? Mert ha egyszer valami miatt más lesz ID-je a menünek, akkor át kell kódolni mindent a megjelenítésnél.
Mert akkor a block-menu.tpl.php-ban tudnám ezt a mezőt vizsgálni és más layout-ot csinálni.

0
0
eMeLA képe

Szerintem nem lesz valamilyen okból más a menü ID-je (tudtommal), mivel ez egy összetett ID.
pl. block-user-1. A block gondolom egyértelmű, az user a felhasználókezelésre vonatkozik, az ID meg ezen belül az azonosító. Ebből az adatbázisban az module >> user és az delta >> 1 tárolódik a blokkhoz. Ugyebár ez azért kell, mert ebből tudja a program, hogy melyik modulban kell keresni a block tartalmát.

Vagyis egy sajatmodul első blokkja így néz ki: block-sajatblokk-0. Ha nem sajátmodulban hozod létre a blokkot, akkor nem tud más lenni a block ID-je, ez az adatbázisba vasalva van.

Magyarán ha CSS szinten akarod módosítani a block kinézetét akkor nyugodtan.

0
0

...mit tudok: http://web.termuves.hu

pp képe

Több szempontból is hibás az elképzelésed.
1.) adatbázisban nem lehet vasalva, mert azért teszünk valamit az adatbázisba, hogy változtatni lehessen!!!
2.) A user-1-es blokk, ami a navigáció a kódban van vasalva és nem változik az id-je csak abban az esetben, ha a user modul ezen részét változtatják meg(ez nem fog egyhamar bekövetkezni).
3.) A menükhöz rendelt blokkok deltája a menu id-je ami menünkén változik és adatbázisból jön.

pp

0
0
eMeLA képe

Szerintem elbeszélünk egymás mellett.

Ha létrehozok egy menüt és feltöltöm menüpontokkal, és megcsinálom a CSS-t hozzá. Akkor az vasalva van (a tpl.php-s változtatást kivéve, ez nekem új). Vagyis a létrehozott menű ID csak akkor változik, ha törlőm és létrehozok egy másikat, de ugyebár akkor már nem az eredeti menüröl van szó, hanem egy másikról. Szerintem aki eljut egy végeredményhez az nem fogja újrakazdeni, tehát vasalva van az ID.

Ó persze, egy adatbázisban minden bármikor változtatható, de ha létrehozol egy új menüt, vagy installálsz egy modult, akkor attól az adott menü ID-je nem fog megváltozni. Márpedig a hozzászólásból nekem úgy tünt, hogy a hozzászóló azért van gondban, mert elképzelhető, hogy a menük ID-je egy kissebb ID számú menü törlésekor átszámozódik. Ez persze lehetséges, nem próbáltam, ha így van akkor pehh ;)

Tegyük hozzá, nem vagyok programozó és az agyam is másként működik, és az "elképzeléseim" is mások... Az biztos, hogy nem vagyok szakszerű... :))

0
0

...mit tudok: http://web.termuves.hu

pp képe

Vagyis a létrehozott menű ID csak akkor változik, ha törlőm és létrehozok egy másikat, de ugyebár akkor már nem az eredeti menüröl van szó, hanem egy másikról. Szerintem aki eljut egy végeredményhez az nem fogja újrakazdeni, tehát vasalva van az ID.

ha így érted akkor vasalva van. :D

0
0
pp képe

Sminknek lehetnek beállításai, amiben ezt beállíthatod. De hamár homár block-menu-.tpl.php. -t meg le kell cserélni az menu id-jére. Ha változik, akkor csak át kell nevezni.

Szerintem alapvetően rosszul indultok el, hisz azt, hogy vízszintes, vagy függőleges legyen egy menü azt simán css-el is meg tudod csinálni, nem kell ehhez a html-hez nyúlni. (Egy példa, amiből ki lehet indulni.)

Az igazi megoldás az, hogy fogod létrehozol egy régiót(ha a meglévőek nem elegek) és annak adsz egy id-t és úgy formázod. Próbáld ki a Garland sminknél, mi történik, ha a header-be teszel egy menüt.

0
0
Paal képe

Igen hasznosak:

http://qrayg.com/experiment/cssmenus/
http://css.maxdesign.com.au/listutorial/horizontal_introduction.htm

Ez utóbbi lépésről-lépésre végig vezet az egyes fázisokon.

Üdv, Pali

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

attb2 képe

Köszönöm a választ!
Mivel én a drupalban (és a tableless CSS-ben) új vagyok (viszont a PHP programozáshoz elég jól értek) arra gondoltam, hogy csinálok egy drupal menu-t, abból egy block-t (aminek a menu a tartalma) és azt próbálom megjeleníteni a saját theme-n belül.
Viszont Pali rámutatott, hogy ez ágyúval verébre esete. Egy kis (jórészt statikus) menü esetén sokkal egyszerűbb, a drupal menu és block elhagyása és közvetlenül beégetni a menü linkeket a page.tpl.php-ba. :-)

0
0