Zum Inhalt springen

cron_accessiblemenus - zwei abhängige menüs

Erstellt am 26. September 2006 · 4 Antworten · letzte Antwort am 13. November 2006

Tags: Frage

LineMan ·

Also ich habe ein Problem mit der Extension cron_accessiblemenus. Grundsätzlich funktioniert sie zwar, aber ich habe das Problem, dass ich zwei Menüs habe, wovon das zweite Listenmenü die Unterpunkte des ersten Menüs darstellen. Allerdings sind sie wie bereits erwähnt komplett im code getrennt. Das Hauptmenü (also die erste Ebene) ist im Kopfbereich der Seite und das Submenu ist in der linken Spalte der Seite. Jetzt möchte ich, dass die Struktur in den "dfn" tags immer übernommen wird... also:

Hauptmenü:

1. News
2. css
3. Typo3
u.s.w.

Submenü (2. css):

2.1 css-seite bauen
2.2 divs erstellen
2.2.1 seite 2
2.2.2 seite 3
2.3 formulare stylen

Mein TypoScript Code für das Hauptmenü:
Typoscript-Code:

temp.tmenu = HMENU
temp.tmenu.wrap = |
temp.tmenu.excludeUidList =
temp.tmenu.entryLevel = 0
temp.tmenu {
  1 = TMENU
  1 {
    expAll = 1
    wrap = <ul id="mainnav">|</ul>
    noBlur = 1
    IProcFunc = user_cronaccessiblemenus->makeAccessible
    IProcFunc.dfn.menuSet = mainmenu
    IProcFunc.accessKeys = 0
    IProcFunc.dfn = 1
    IProcFunc.dfn.start = 1
    IProcFunc.dfn.stdWrap.noTrimWrap = ||. |
    IProcFunc.dfn.inATag = 1
    NO {
      wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li>
      stdWrap = upper
                 //ATagTitle.field = description // title
    }
    ACT {
      wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li>
      stdWrap = upper
      ATagParams = class = "act"
                 //ATagTitle.field = description // title
    }
    ACT.stdWrap.wrap = |
    CUR < .ACT
    CUR.doNotLinkIt = 1
    CUR.wrapItemAndSub = <li class="first nav-selected-1" title="Du bist hier">|</li>|*|<li class="nav-selected-1" title="Du bist hier">|</li>|*|<li class="last nav-selected-1" title="Du bist hier">|</li>
    CUR.stdWrap = upper
    CUR = 1
  }
}

Mein TypoScript Code für das Submenü:
Typoscript-Code:

temp.subnav = HMENU
temp.subnav.entryLevel = 1
temp.subnav.wrap = |
temp.subnav {
  1 = TMENU
  1 {
    wrap = <ul id="subnav">|</ul>
    noBlur = 1
    IProcFunc = user_cronaccessiblemenus->makeAccessible
    IProcFunc.dfn.menuSet = mainmenu
    IProcFunc.accessKeys = 0
    IProcFunc.dfn = 1
    IProcFunc.dfn.start = 1
    IProcFunc.dfn.stdWrap.noTrimWrap = ||. |
    IProcFunc.dfn.inATag = 1
    NO {
      stdWrap.htmlSpecialChars = 1
      wrapItemAndSub = <li>|</li>
      stdWrap = upper
                 //ATagTitle.field = description // title
    }
    ACT < .NO
    ACT {
      wrapItemAndSub = <li class="subnav-selected"><span title="Du bist hier">|</span> </li>
      stdWrap = upper
    }
    CUR < .ACT
    CUR {
      wrapItemAndSub = <li class="subnav-selected"><span title="Du bist hier">|</span></li>
      stdWrap = upper
    }
    CUR.doNotLinkIt = 1
    CUR = 1
  }
}

Soweit bin ich schon, also das kommt raus (1. Menüebene):
HTML-Code:

<ul id="mainnav">
  <li class="first"><a href="#"><dfn>1. </dfn>News</a></li>
  <li class="nav-selected-1" title="Du bist hier"><dfn>2. </dfn>css</li>
  <li><a href="#"><dfn>3. </dfn>Barrierefreiheit</a></li>
  <li><a href="#"><dfn>4. </dfn>Typo3</a></li>
  <li><a href="#"><dfn>5. </dfn>Gästebuch</a></li>
  <li><a href="#"><dfn>6. </dfn>Links</a></li>
  <li><a href="#"><dfn>7. </dfn>Infos</a></li>
  <li class="last"><a href="#"><dfn>8. </dfn>Login</a></li> </ul>

(2. Menüebene):
HTML-Code:

<ul id="subnav"> 
  <li><a href="#"><dfn>9. </dfn>One Multicoloumn Layout</a></li>
  <li><a href="#"><dfn>10. </dfn>Websites mit dem richtigen Doctype versehen</a></li> 
  <li><a href="#"><dfn>11. </dfn>Gestaltung einer Webseite mit css</a></li> 
  <li><a href="#"><dfn>12. </dfn>Ein Listenmenü mit css gestalten</a></li> 
  <li><a href="#"><dfn>13. </dfn>Barrierefreies Formular mit css</abbr> formatieren</a></li> 
  <li><a href="#"><dfn>14. </dfn>Vom Umgang mit ID´s und Klassen</a></li> 
</ul>

wie man sieht zählt er die Links einfach durch, was natürlich nicht gewollt ist... Er soll sich ja eingetlich mit IProcFunc.dfn.menuSet = mainmenu an die Struktur halten... und wie oben erwähnt eben:

z.b. bei css 2.1 schreiben...

geht das überhaupt mit zwei getrennten Menüs und dieser extension?

Ich wäre super dankbar über jeden tip...

Gruß

Matthias

P.S.: Ich habe mich schon doof gesucht, sowohl hier als auch auf typo3.net und typo3.org und habe einige tutorials dazu gelesen, die aber immer von einem zusammenhängenden verschachtelten menü ausgehen... geht das alles überhaupt mit dieser extension? ich glaube langsam eher nicht, oder?

Also z.B. Accessible menu - TYPO3Wiki

miwolfram ·
LineMan schrieb

geht das überhaupt mit zwei getrennten Menüs und dieser extension?

Jup, das geht.
Die Reihenfolge der Einträge im Setup sollte/darf eigentlich keinen Unterschied machen, ich seh sonst aber nichts was anders konfiguriert ist als bei mir.

Mein Beispiel:

  ### Accesskeys und Nummerierung
  IProcFunc = user_cronaccessiblemenus->makeAccessible
  IProcFunc.dfn = 1
  IProcFunc.dfn.menuSet = menumain
  IProcFunc.dfn.inATag = 1
  IProcFunc.dfn.stdWrap.noTrimWrap = || |

Das funktioniert (soweit) gut, d.h. die Zählstruktur zieht sich durch, jedoch hat er mir - habs grad nochmals probiert - im Untermenu jeweils einen 1er vor die Nummern geschrieben, statt 5.1 also 15.1 ->vielleicht ein Bug oder eine falsche Konfiguration, soviel Zeit hab ich jetzt aber nicht.

Getestet auf Typo3 4.0.0 und cron_accessiblemenus 0.7.0

TobiWan ·

Hallo,

ich stehe gerade vor demselben Problem. iProcFunc zählt beim Untermenü so weiter, als sei es auf der höchsten Ebene.

Habt Ihr da inzwischen eine Lösung gefunden?

Schöne Grüße,
Tobias