Zum Inhalt springen

Zwei Menüs zusammenführen

Erstellt am 16. August 2005 · 3 Antworten · letzte Antwort am 7. Februar 2007

Tags: Frage

mischa ·

Hallöle zusammen,

ich habe folgendes Problem:

ich habe zwei Menüschnipsel

A:

leftmenu = HMENU
leftmenu {
	special = userfunction
	special {
		value = 67
		pageid = {$pageid}
		# fulltext_search_id = {$fulltext_search_id}
		menuCircumstanceTree = {$menuCircumstanceTree}
		menuUsergroupTree = {$menuUsergroupTree}
		menuOrganisationTree = {$menuOrganisationTree}
		# menuFormList = {$menuFormList}
		# menuTop15 = {$menuTop15}
		userFunc = tx_civserv_pi1->makeMenuArray
	}
}

und B:

temp.menu_1 = HMENU

# First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1 {
# Normal state properties
  NO.ATagParams = class="nav"
  ACT.ATagParams = class="nav_act"
  NO.allWrap = <tr><td>|</td></tr>
  ACT = 1
  ACT.allWrap = <tr><td>|</td></tr>
}

# First level menu-object, textual
# temp.menu_1.entryLevel = 1

temp.menu_1.2 < leftmenu
temp.menu_1.2 = TMENU
temp.menu_1.2 {
  NO.ATagParams = class="nav_sub"
  ACT.ATagParams = class="nav_sub_act"
# Normal state properties
  NO.allWrap = <tr><td>|</td></tr>
# Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <tr><td>|</td></tr>
}

Wie schaffe ich es nun, A in B als zweite (oder dritte) Ebene einzubinden?

Hintergrund: Es handelt sich bei A um ein Plugin (civserv) und bei B um ein ganz normales Menü. B spiegelt die Seiten wieder, A gibt ein automatisch generiertes Menü des Plugins wider.

Danke für die Hilfe schonmal.

Mischa

skorpi ·

ja, da könnte etwas in der Art funktionieren:

temp.menu_1.1.NO {

  # diese Zeile kann auch weg gelassen werden, möchte nur die Idee verdeutlichen:
  after.cObject = HMENU
  after.cObject < leftmenu
  after.cObject {
    # Definition der zweiten Ebene:
    1 = TMENU
    1.NO.ATagParams = class="nav_sub"
    1.ACT ......
  }
}

Das gleiche muss dann auch im ACT-Status gemacht werden:

temp.menu_1.1.ACT.after < temp.menu_1.1.NO.after
einpraegsam.​net ·

@skorpi:

Klasse Ansatz, so wird das civserv Menü passend eingebunden:

temp.osiris = HMENU
temp.osiris {
	wrap = <ul>|</ul>
	special = userfunction
	special {
		pageid = {$pageid}
		fulltext_search_id = {$fulltext_search_id}
		menuServiceList = {$menuServiceList}
		menuCircumstanceTree = {$menuCircumstanceTree}
		menuUsergroupTree = {$menuUsergroupTree}
		menuOrganisationTree = {$menuOrganisationTree}
		menuFormList = {$menuFormList}
		menuTop15 = {$menuTop15}
		userFunc = tx_civserv_pi1->makeMenuArray
	}
	stdWrap.wrap  = |
	1 = TMENU
	1.wrap = |
	1.NO {
		wrapItemAndSub = <li class="li3">|</li>
		stdWrap.htmlSpecialChars = 1
		ATagParams = 
	}
	1.ACT = 1
	1.ACT {
		wrapItemAndSub = <li class="li3">|</li>
		stdWrap.htmlSpecialChars = 1
		ATagParams = 
	}
}


temp.menu = HMENU
temp.menu.wrap = <h2 style="display: none;">Haupt-Navigation:</h2>|
temp.menu.1 = TMENU
temp.menu.1 {
  wrap = <ul>|</ul>
  NO.stdWrap.htmlSpecialChars = 1 
  NO.allWrap =  <li>|</li>
  NO.ATagTitle.field = subtitle // title
  NO.ATagTitle.wrap = |
  ACT = 1
  ACT.wrapItemAndSub =  <li>|</li>
}
temp.menu.2 = TMENU
temp.menu.2 {
  wrap = <ul>|</ul>
  NO.allWrap =  <li>|</li>
  NO.ATagTitle.wrap = |
  ACT = 1
  ACT.wrapItemAndSub =  <li>|</li>
}
temp.menu.3 = TMENU
temp.menu.3 {
  wrap = <ul>|</ul>
  NO.allWrap =  <li>|</li>
  NO.ATagTitle.wrap = |
  ACT = 1
  ACT.wrapItemAndSub =  <li>|</li>
}

[PIDinRootline = 94]
temp.menu.2 = TMENU
temp.menu.2 {
  #wrap = <ul>|</ul>
  NO.allWrap =  <li>|</li>
  NO.ATagTitle.wrap = |
  ACT = 1
  ACT.wrapItemAndSub =  <li>|</li>
  ACT {
  	after.cObject = HMENU
  	after.cObject < temp.osiris  
  }
}
[END]