Page 1 of 1

sublevel padding

Posted: Thu Nov 24, 2005 12:18 pm
by siro
Hoi,

Is er een mogelijkheid om sublevels in menus niet te laten inspringen. Ik maak bijvoorbeeld een menu-item aan en plaats deze onder een parent item. Deze sublevels springen dan padding-left: 4px in (aldus de sourcecode).

Ik wil namelijk alles netjes onder elkaar en zelf met padding in het css bestand het zaakje laten inspringen. De reden hiervoor is omdat is de background images mooi onder elkaar wil hebben. Nu springt de background image 4 px naar rechts in. Dat wil ik niet.

Voorbeeld:

http://www.loupias.nl. Zie knopje familie.

bedankt.

Re: sublevel padding

Posted: Thu Nov 24, 2005 12:23 pm
by webguy
Dat is er niet... :(
Vandaar dat ik daarvoor een eigen menu module heb gemaakt, gebaseerd op de standaard menu module en die springt NIET in.
Als je wil plaats ik 'm hier...

Re: sublevel padding

Posted: Thu Nov 24, 2005 12:42 pm
by siro
Bedankt, maar ik ga eerst maar eens kijken of het niet met een css hack o.i.d. kan. Misschien dat ik het visueel kan faken door de mainlevel op +4 padding te zetten en de sublevel vervolgens op -4.

Het moet toch mogelijk zijn...  :P

EDIT: Gelukt!! door de margin-left van mainlevel op +4 te zetten en de margin-left van sublevel op 0 krijg je ze netjes onder elkaar :)

Nu nog even crossbrowser checken.

Re: sublevel padding

Posted: Thu Nov 24, 2005 12:58 pm
by webguy
Gaat je niet lukken he he he ... ;D
Niet voor niks dat ik een afwijkende module heb gemaakt.
Ik zal je ook laten zien waarom:

In de mod_mainmenu module staat dit gedefinieerd:

Code: Select all

$indents = array(
// block prefix / item prefix / item suffix / block suffix
array( '<table width="100%" border="0" cellpadding="0" cellspacing="0">', '<tr align="left"><td>' , '</td></tr>', '</table>' ),
array( '', '<div style="padding-left: 4px">'. $img[1] , '</div>', '' ),
array( '', '<div style="padding-left: 8px">'. $img[2] , '</div>', '' ),
array( '', '<div style="padding-left: 12px">'. $img[3] , '</div>', '' ),
array( '', '<div style="padding-left: 16px">'. $img[4] , '</div>', '' ),
array( '', '<div style="padding-left: 20px">'. $img[5] , '</div>', '' ),
array( '', '<div style="padding-left: 24px">'. $img[6] , '</div>', '' ),
);
Deze array wordt gebruikt om de menu rijen op te bouwen. Hier staat dus gewoon hardcoded in dat niveau 1 met 4 pixels inspringt. Niveau 2 sprigt met 8 pixels in, niveau 3 springt met 12 pixels in enzovoort.
Je kunt natuurlijk de tekst van een mainlevel knop bijvoorbeeld 20 pixels laten inspringen en de tekst van een sublevel knop 16 pixels. Maar als je een sub-sub-level knopt hebt werkt dat helaas niet meer.

In mijn aangepaste module heb ik de inspringing overal op 0 pixels gezet. Daarmee springen subniveau's niet meer in.

Re: sublevel padding

Posted: Thu Nov 24, 2005 12:59 pm
by webguy
siro wrote: Bedankt, maar ik ga eerst maar eens kijken of het niet met een css hack o.i.d. kan. Misschien dat ik het visueel kan faken door de mainlevel op +4 padding te zetten en de sublevel vervolgens op -4.

Het moet toch mogelijk zijn...  :P

EDIT: Gelukt!! door de margin-left van mainlevel op +4 te zetten en de margin-left van sublevel op 0 krijg je ze netjes onder elkaar :)

Nu nog even crossbrowser checken.
Dit werkt inderdaad. Als je alleen hoofdmenu items hebt met slechts 1 subniveau diep. Jouw optie werkt volgens mijn niet meer als je nog een sublevel meer hebt...

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:03 pm
by siro
ahh.. dat scrippie is wel heel simpel :)... dan gebruik ik die wel.. dacht dat ik een hele nieuwe module moest installen.

thanks!

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:06 pm
by webguy
Siro, voordat je gaat aanpassen!
Het mooi van Joomla is, dat het zo open is. Ik kan je een vervangende module aanbieden waarbij de inspringingen zijn aangepast.
Die module kan je dan gebruiken in plaats van de standaard mod_mainmenu module.

Daarmee houd je de standaard Joomla! software ook standaard. Vooral handig mij toekomstige updates...

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:19 pm
by siro
Graag... mail hem maar naar m'n profiel...

overigens.. weet jij toevallig hoe ik in de css file de indent image kan setten (ik wil nl. geen indent image) ? Dat scheelt weer bij elke implementatie...

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:25 pm
by webguy
Ik hang 'm hier aan, dan heeft iedereen er wat aan :)
Gewoon installeren via de module installer.

Die indent images kan je bij de menu module parameters instellen. Of is dat niet wat je bedoelt?

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:28 pm
by siro
nou.. het schijnt dat je ook via het template_css.css bestand je indent images kan instellen.. Althans... dat leidt ik af uit het feit dat je bij menu parameters kan kiezen voor de optie USE TEMPLATE IMAGES..

Dat zou wel handig zijn nl.. dan hoef ik niet bij elke mambo installatie die menu parameters te wijzigen, maar kan ik gewoon mijn template_css.css zou bouwen dat hij zonder indent images werkt.

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:34 pm
by webguy
Oke je bedoelt dat...

Die template indent images hebben niets met CSS te maken.

Standaard haalt Joomla als je instelt dat je WEL met indent images wil werken deze uit de map images/M_images.
Voor elk indent niveau staat daar een image gedefinieerd (zie regel 177 van modules/mod_mainmenu.php).

Je kunt echter ook eigen indent images maken die je met je template meelevert.
Die moet je in je images map van je template plaatsen (templates/jouw_template/images.
(zie hiervoor regel 201 van modules/mod_mainmenu.php).

Welke images gebruikt worden, de standaard Joomla of die van de template, stel je in als paramater bij de mod_mainmenu module of bij mijn mod_gvwmenu module.

Re: sublevel padding

Posted: Thu Nov 24, 2005 1:37 pm
by siro
Duidelijk.... bedankt voor je hulp in ieder geval....

Re: sublevel padding

Posted: Sun Jan 21, 2007 4:14 pm
by Lumberjack2
Webguy,

Ik heb in de mod_mainmenu module alle padding-left op 0px gezet en het werkt. Nu springt .sublevel niet meer in, geweldig!  :D

Re: sublevel padding

Posted: Wed May 05, 2010 9:35 am
by Gasoline
Is er iemand die weet hoe dit in 1.5 werkt? Ik vind het niet in de modules. Toch raar dat er "harcoded" 4px worden toegevoegd terwijl je via .sublevel in je css alles kan regelen.

Erg irritant dit, iemand die de oplossing heeft zopdat <div style="padding-left: 4px;"> verdwijnt.