Zum Inhalt springen

GMENU wrap mit field-Daten ?

Erstellt am 19. Mai 2005 · 9 Antworten · letzte Antwort am 19. Juli 2005

Tags: Frage

MrFriendly ·

Hallo,

unser Webdesigner gibt vor, dass die Hauptnavigation wie folgt aufgebaut ist:

<div id="mainnav_{field:uid}" class="mainnav_box">
  <span>{field:title}</span>
  <a href="index.php?id=49" title="Über uns" onfocus="blurLink(this);">
    <img src="typo3temp/menu/a0c4080d0b.png" width="66" height="30" border="0" alt="Über uns" onmouseover="allMenusOff(); showMenu(true, 'subnav_{field:uid}', this);" />
  </a>
</div>

Bisheriger Aufbau meines Templates:

# menu first level
  10 = HMENU
  10.special = directory
  10.special.value = 31
  10.1 = GMENU
  10.1 {
    NO {
      format = "gif"
      XY = [10.w]+18, 30
      backColor = #1C8AB2
      transparentColor = #1C8AB2
      wrap = <div id="mainnav_{field:uid}" class="mainnav_box"><span>{field:title}</span>|</div>
      ATagTitle.field = title    

      10 = TEXT
      10 {
        text.field = title
        fontSize = 12
        fontFile = ../fonts/arial.ttf
        fontColor = #eeeeee
        offset = 9,21
        niceText = 1
        shadow {
          offset = 1,1
          color = #111111
          blur = 60
          opacity = 30
        }
      }
    }

Vorschläge, wie ich die {field}-Elemente korrekt ausgeben kann?
Außerdem: trotz Angabe von format = "gif" werden die Grafiken als PNG erstellt.

toyde ·

Hallo.

Zu deinem png VS gif-Problem:
Ist dein Gifbuilder so eingestellt, dass er png oder gif-Dateien ausgibt?

Typo3 Backend > Install
Dort unter Punkt 1 suchst du "[GFX][gdlib_png]=" und stellst den Wert auf gif.
Vielleicht hilfts.

cu

MrFriendly ·

Dann müssen wohl noch andere Einstellungen berücksichtigt werden. Diese Änderung alleine liefert nämlich nur
Fatal error: Call to undefined function: imagegif() in d:\inetpub\typo3_v_3_7\www\t3lib\class.t3lib_stdgraphic.php on line 2594

todo ·

Hallo,

hast du Dein Problem mit dem {field:uid} gelöst?
Ich habe nämlich das gleiche Problem.

Ciao
ToDo

MrFriendly ·

Aber sicher doch.

Im Template-Setup das Ersetzen aktivieren mit

subst_elementUid = 1

Überall, wo du {elementUid} angibst, wird dieser String durch die echte UID ersetzt.

Genaue Beschreibung in der TSRef, Seite 110.

Greetings

todo ·

vielen Dank.

Leider kann ich {elementUid} nur als Eigenschaft der Menüzustände verwenden. Ich bräuchte aber eindeutige Benennung des Containers in dem sich die einzelnen Menüpunkte befinden.

Ciao
ToDo

MrFriendly ·

Gib doch mal ein Beispiel, wie der Output aussehen sollte. Was verstehst du unter "Container, in dem sich die einzelnen Menüpunkte befinden"?

Greetings

todo ·

Ziel ist das jedes Aufklappmenu seine eigene Hintergrundfarbe bekommt. Dazu möchte ich eindeutige IDs vergeben.

Hier mein Code:

...
page.includeLibs.tmenu_layers = media/scripts/tmenu_layers.php

temp.menu2.2 = TMENU_LAYERS
temp.menu2.2 {
  layerStyle = position: relative; visibility: hidden;
  subst_elementUid=1
  wrap = <div id="menu{elementUid}" style="position:relative;background-color:#2fbbc8;width:125px;filter:Alpha(ocacity=50);margin-top:1px">|</div>

  expAll=1
  NO {
    subst_elementUid=1
    allWrap = <div id="test{elementUid}" class="subMenu" style="border-bottom:1px solid #FFFFFF"><div style="padding:4px 15px 2px 10px">|</div></div>
    ATagBeforeWrap = 1
    backColor = #ffffff
  }
  RO < .NO
  RO = 1
  ACT < .NO
  ACT = 1
}

Ich brauchte bei wrap = <div id="menu{elementUid}"> die Nummerierung.
Leider funktioniert das an dieser Stelle nicht. Bei allWrap funktioniert es :-(

Ciao

MrFriendly ·

Wie du sehen kannst, setzte ich {elementUid} erfolgreich mit wrap ein, allerdings immer auf "Zustandsebene" NO, RO etc.

  # menu first level
  10 = HMENU
  10.special = directory
  10.special.value = 31
  10.1 = GMENU
  10.1 {
    noBlur = 1
    expAll = 1
    NO = 1
    NO {
      
      # graphics
      XY = [40.w]+14, 30
      backColor = #1C8AB2
      transparentColor = #1C8AB2
      transparentColor.closest = 1
      subst_elementUid = 1
      wrap = <div id="mainnav_{elementUid}" class="mainnav_box">|</div>
      ATagTitle.field = title
      imgParams = onMouseOver="collapseAllMenus();"

      # label
      40 = TEXT
      40 {
        text.field = title
        text.case = upper
        fontSize = 12
        fontFile = fileadmin/.../lsh.ttf
        fontColor = #ffffff
        offset = -1,21
        align = center
        niceText = 0
      }
    }

Auch wenn es im TSRef nur für GMENU definiert ist, funktioniert es bei mir an anderer Stelle auch mit TMENU.
Vielleicht hängts am TMENU_LAYERS?

Greetings

todo ·

Hi,

ich denke nicht das es an TMENU_LAYERS liegt. Funktioniert auch bei TMENU nicht.
Es gibt die Eigenschaft anscheinend nur bei den Menüausprägungen.

Entweder finde ich noch ein Lösung, oder der Kunde muss auf mehrere Farben verzichten....

Trotzdem vielen Dank.

Ciao
ToDo