Zum Inhalt springen

TMENU mit before IMG aus dem Media-Feld

Erstellt am 16. April 2007 · 6 Antworten · letzte Antwort am 2. November 2011

Tags: Bilder, Frage

Valen ·

Hallo ihr alle.

Ich hab die Frage vor einigen Wochen schon mal in einem anderen Thread gestellt aber der war als gelöst markiert und deshalb denke ich, wurde er nicht mehr von so vielen Leuten gelesen. Demnach Sorry an alle, die dies hier jetzt zum zweiten mal lesen, aber ich habe leider noch keine Lösung gefunden und würde das immer noch gern schaffen.

Das Problem:
Es geht darum, ein TMENU mit individuellen Icons vor jedem Menü-eintrag zu erzeugen. Ich würde das gerne mit Bildern aus dem MediaFeld lösen.

Sie werden bei mir auch alle angezeigt. Leider befinden sie sich außerhalb des <a>-Tags und ich hätte sie gern innerhalb. Ich hab bestimmt nur ne Kleinigkeit falsch, aber da ich nicht so wahnsinnig fit im Typo-Script bin hab ich mir einige Tage nen Wolf gesucht und es irgendwann erstmal wieder gelassen.

Hier mal mein Code. Ich hoffe mir kann da jemand helfen.

seite.10.marks.NAVLINKS = HMENU
seite.10.marks.NAVLINKS {
  special.value = 1
	
  1 = TMENU
  1.wrap = <ul class="nav_l"> | </ul>
  1.NO = 1
  1.NO.allWrap = <li class="nav_links">|</li>
	
  1.NO {
    before.cObject = IMAGE
    before.cObject {
      file.import.field = media
      file.import = uploads/media/ 
      file.import.listNum = 0
      }		     
    ATagParams = class="nav_laender" 
    }
	
  1.ACT = 1
  1.ACT	{
    wrapItemAndSub = <li class="nav_links">|</li>
    ATagParams = class = "nav_active"
    before.cObject = IMAGE
    before.cObject {
      file.import.field = media
      file.import = uploads/media/ 
      file.import.listNum = 1
    }
  }
}

und so sieht es dann im generierten HTML-Code aus:

<ul class="nav_l">
   <li class="nav_links">
      <img src="uploads/media/Home2.gif" width="40" height="40" alt="" title="" />
      <a href="index.php?id=8" onfocus="blurLink(this);" class="nav_laender">Startseite</a>
   </li>...

aber so hätte ich es gerne:

<ul class="nav_l">
   <li class="nav_links">
   <a href="index.php?id=8" onfocus="blurLink(this);" class="nav_laender"><img src="uploads/media/Home2.gif" width="40" height="40" alt="" title="" />Startseite</a>
   </li>...

weiß jemand weiter?

andi

Edit:
-------------
P.S.: die Krönung des ganzen wäre es dann noch, wenn ich es schaffen könnte, bei MouseOver ein anderes Icon darzustellen, also sowas wie
file.import.listNum = 2
aber das wäre ein Bonbon.

Valen ·

Ich weiß, das ist ein alter Thread, aber ich hatte damals doch noch eine Lösung gefunden, wie das ganze funktioniert. Allerdings glaube ich, dass dieser Weg nicht besonders elegant ist. Nichtsdestotrotz wollte ich ihn hier nochmal posten falls mal jemand was ähnliches braucht.

Wenn jemand das ganze noch schöner/besser/schneller machen kann, kann er seine Lösung ja hier mit posten.

        1 = TMENU
        1.wrap = <ul class="nav_l"> | </ul>
        1.NO = 1
        1.NO.allWrap = <li class="nav_links">|</li>
	
	1.NO {
                before.cObject = COA
                before.cObject {
                	5 = TEXT
                	5.value = <a href="index.php?id=
                	6 = TEXT
                	6.field = uid
                	7 = TEXT
                	7.value = ">
                	10 = IMAGE
                	10.file.import.field = media
                	10.file.import = uploads/media/ 
                	10.file.import.listNum = 0
                	15 = TEXT
                	15.value = </a>
                	}		
                 ATagParams = class="nav_laender" 
	}
tgr ·

was hältst denn davon:

NO {
  before {
    cObject = COA
    cObject {
      10 = IMAGE
      10.file.import.field = media
      10.file.import = uploads/media/
      10.file.import.listNum = 0
    }
    typolink.parameter.data = field:uid
  }
}

damit wird dann zb. auch cooluri berücksichtigt.

cheers, thorsten

misinn ·

Hallo zusammen,

ich soll gerade das gleiche tun, allerdings der Zustand RO ändert mir die Bildchen nicht. ACT funktioniert.

Kann mich jemand bitte auf den Fehler aufmerksam machen!?

temp.legal = HMENU
  temp.legal{
    special = list
    special.value = 4,33,49,42
    1 = TMENU
    1 {
    wrap = |
    NO = 1
    NO {
      linkWrap = &nbsp;|&nbsp;&#124; |*| &nbsp;|&nbsp;&#124; |*| &nbsp;|
      allWrap = |
      before {
        cObject = COA
        cObject {
          10 = IMAGE
          10.file.import.field = media
          10.file.import = uploads/media/
          10.file.import.listNum = 1
          }
        typolink.parameter.data = field:uid
        }
      }
    ACT = 1
    ACT < .NO
    ACT.before.cObject.10.file.import.listNum = 0

    RO = 1
    RO < .ACT
    } 
  }

Ich danke Euch

Marius

isn_typo3 ·

Hallo, ich hab das Snippet übernommen, allerdings sollte das dynamische img aus dem Mediafeld der Seite innerhalb des Standard Link-Tag eingefügt werden.

Kann mir bitte jemand erklären, wie ich das dynamische Icon in den aTag kriege, oder den Standardlink ausblende?

lg, Dietmar

  quicklinks = HMENU
  quicklinks {
    special = directory
    special.value = 18
    1 = TMENU
    1 {
      noBlur = 1
      NO = 1
      NO {
        #http://www.typo3.net/forum/beitraege/menues/61053/
        before {
          cObject = COA
          cObject {
            10 = IMAGE
            10.file.import.field = media
            10.file.import = fileadmin/templates/images/
            10.file.import.listNum = 0
            #20 = TEXT
            #20.field = title
          }
          typolink.parameter.data = field:uid
        }
        wrapItemAndSub = <li>|</li>
      }
    }
   }

Damit wird folgende Ausgabe erzeugt.

<li><a href="index.php?id=19"><img height="26" border="0" width="26" alt="" src="fileadmin/templates/images/fb_icon.jpg"></a><a href="index.php?id=19">Facebook</a></li><li><a href="index.php?id=20"><img height="17" border="0" width="25" alt="" src="fileadmin/templates/images/newsletter_icon.jpg"></a><a href="index.php?id=20">Newsletter abbonieren</a></li>