afbeelding van thyssimonis

Menu in block

Hallo,

 

Bezig met mijn eigen module, nu kom ik op het volgende.

Ik wil graag een menu in mijn custom block laten zien.

Maar hoe lees ik een menu uit naar een tree? Zodat ik mijn eigen style er omheen kan maken. 

 

Thijs

Drupalversie: 
6.x
Auteur: 
thyssimonis
afbeelding van svendecabooter
Door svendecabooter op 19 oktober, 2010 - 09:32

http://drupal.org/project/menu_block zou je daar bij moeten helpen

Door wimvds op 19 oktober, 2010 - 14:47

Net wat ik nodig had, dat bespaart mij alvast het herschrijven van een Drupal 5 module die op elke pagina een blok met de onderliggende pagina's toonde - "Primary links (levels 2+)" (en die ook niet zo makkelijk te porten was) :p.

afbeelding van thyssimonis
Door thyssimonis op 19 oktober, 2010 - 10:52

Ben niet opzoek naar een module! Maar een stukje script!

afbeelding van svendecabooter
Door svendecabooter op 19 oktober, 2010 - 11:19

Allicht kan je de code van menu_block bekijken, om te zien hoe zij dit aanpakken.
De menu API in Drupal is wel soms nogal omslachtig om volgen, dus mogelijk zal het niet zo evident zijn...

afbeelding van Xano
Door Xano op 19 oktober, 2010 - 12:08

Styling doe je met CSS, niet met PHP. Misschien als je meer uitleg geeft over wat je einddoel is, dat we een beter antwoord kunnen geven.

My name is Bart - web & events
iDEAL, OmniKassa, en meer.

afbeelding van thyssimonis
Door thyssimonis op 19 oktober, 2010 - 12:50

<div class="eigenclass1" onclick="jsfunction()">title</div>
<div class="eigenclass2" id="eigenid2"><a>subtitle</a> | <a>subtitle</a> | <a>subtitle</a></div>

<div class="eigenclass1" onclick="jsfunction()">title</div>
<div class="eigenclass2" id="eigenid2"><a>subtitle</a> | <a>subtitle</a> | <a>subtitle</a></div>

<div class="slidemenu_clear"></div>

 

Zo moet de indeling worden!

 

afbeelding van Xano
Door Xano op 19 oktober, 2010 - 13:25

1) Geen onclick. Unobtrusive JavaScript.
2) Die pipes en witruimte doe je met CSS.
3) Semantisch gezien horen menu links in een lijst (<ul>) te staan.
4) Je kan met theme overrides de theme functions of templates voor menu's overriden in je eigen theme, maar dat is niet nodig in jouw geval. Dit is allemaal met CSS en unobtrusive JavaScript af te handelen (maar dan weet je het vast voor de volgende keer).

In het kort: list items maak je display:inline; en geef je een border om die pipes te simuleren. Margin gebruiken voor de witruimte. Het gebeuren over unobtrusive JavaScript houdt in dat je je JavaScript zelf de event handler voor je menu laat toevoegen. Zo houd je je HTML het schoonst en staat er geen JS-gerelateerd spul in als JS uitgeschakeld blijkt te zijn.

My name is Bart - web & events
iDEAL, OmniKassa, en meer.

afbeelding van thyssimonis
Door thyssimonis op 19 oktober, 2010 - 15:24

En welke API functies gebruik ik dan allemaal als ik het op deze manier wil doen?

afbeelding van Xano
Door Xano op 19 oktober, 2010 - 22:18

Heb je helemaal geen API voor nodig.

1) Weet je al wat theme overrides zijn?
2) Heb je überhaupt al gezocht naar welke functies je zou moeten overriden?

Iets meer moeite tonen doet een hoop op fora.

My name is Bart - web & events
iDEAL, OmniKassa, en meer.

afbeelding van thyssimonis
Door thyssimonis op 19 oktober, 2010 - 23:18

1) Beetje meer interesse hebben in mijn vraag kan ook
2) Ja ik heb gezocht
3) tree_page_data & menu_tree_output gebruik ik nu maar ik dacht er wel simpelere functies zijn daarom de vraag welke functies.
4) Misschien heb ik mijn vraag niet goed gesteld.
5) Hoe zorg ik er voor dat ook de outputs krijg wat onder bijv. "Administer" ligt.
Welke functie en welke variable moet ik meet sturen?

afbeelding van thyssimonis
Door thyssimonis op 19 oktober, 2010 - 12:08

Dat had ik al door maar het lukt al een beetje!

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.