Zum Inhalt springen

Menü mit eigenen Grafiken erstellen?!?

Erstellt am 13. November 2006 · 14 Antworten · letzte Antwort am 20. November 2006

Tags: Frage

lorrey ·

Hallo alle zusammen!

Bin ein absoluter TYPO3 Neuling... und bin gerade dabei mein CSS Layout mit Templavoila umzusetzen - was sich am Anfang doch leichter gelesen hatte, als es jetzt ist 😉

Erstes Problem:
Ich hab eine Navi mit 5 Punkten, diese will ich mit eigenen Grafiken aufbauen, da soll das Image der Link und der H2 Tag pflegbar sein.
Und wie kann ich das mit der vorhanden Seitenstruktur verknüpfen?

Hier der HTML Code:

	<div class="NAVI">
		<a href="index.html" onmouseover="navigation(this)" onmouseout="navigation(this)"><img src="x.gif" width="66" height="34" alt="Home" title="Home" /><h2>Home</h2></a>
		<div class="CLEAR"> </div>
	</div>

Bevor ich jetzt ganz in die falsche Richtung weiter mache - wollte ich euch Fragen wie man so was am besten macht - kann man so ein Template überhaupt mit Templavoila machen, oder sollte man lieber die "alten" Template Varianten nehmen?

Bin euch für jede Hilfe oder einen Hinweis dankbar!

silverzone ·

für das gibt es den gifbuilder. ich hab das immer so umgesetzt. einen marker ###menu### und den dann per ts ansprechen und abfüllen:

(mein menü unten nutzt ypmenu www.il-giardino.ch (so siehts aus)

temp.ypMenu.special = directory


temp.ypMenu.special.value = 1
temp.ypMenu = HMENU
temp.ypMenu {
     1 = GMENU
     1 {
          IProcFunc = user_menu->firstLevel
          expAll = 1
          wrap = | <img border="0" height="40" src="fileadmin/template/images/menu_end.jpg">
          NO = 1
          NO {
               wrap =   |
               XY = 90 , 40
	       
	      
	               	
	       30 = IMAGE
	       30 {
               file = fileadmin/template/images/menu_bg_links.gif
               offset = 0,0

               }
               
               40 = IMAGE
	       40 {
               file = fileadmin/template/images/menu_bg_mitte1.gif
               offset = 17,0
               }
               
               50 = TEXT
               50 {
                    text.field = title
                    text.case=upper 
                    fontSize = 11
                    align=left
                    fontFile = fileadmin/fonts/tahoma.ttf
                    fontColor = #8B8B8B
                    
                    offset = 13,25
                    niceText = 0
                    transparentBackground = 0
               } 
  
          }

          IFSUB < temp.ypMenu.1.NO
          IFSUB = 1

          RO < temp.ypMenu.1.NO
          RO = 1
          RO {
		50 {
                    text.field = title
                    text.case=upper 
                    fontSize = 11
                    align=left
                    fontFile = fileadmin/fonts/tahoma.ttf
                    fontColor = red
                    offset = 13,25
                    niceText = 0
                    transparentBackground = 0
               }            
          }

          IFSUBRO < temp.ypMenu.1.NO
          IFSUBRO = 1
          IFSUBRO {
               50 {
                    text.field = title
                    text.case=upper 
                    fontSize = 11
                    align=left
                    fontFile = fileadmin/fonts/tahoma.ttf
                    fontColor = red
                    offset = 13,25
                    niceText = 0
                    transparentBackground = 0
               }   
          }
     }   

     2 = TMENU
     2 {
          IProcFunc = user_menu->secondLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }

     3 = TMENU
     3 {
          IProcFunc = user_menu->thirdLevel
          expAll = 1
          NO.linkWrap = <li>|</li>

     }

     4 = TMENU
     4 {
          IProcFunc = user_menu->fourthLevel
          expAll = 1
          NO.linkWrap = <li>|</li>

     }
}

 
temp.user_menu = USER
temp.user_menu.userFunc = user_menu->menuEnd

du siehst, wie das menü aus verschiedenen Grafiken zusammengebaut wird

lorrey ·

hallo silverzone!

danke für deine antwort!
leider hab ich mich wohl falsch ausgedrückt - sorry!

was ich meinte ist, ich habe für zb für die seite home schon eine spezielle grafik, die ist schon fertig (mit text) und die möchte ich mit home verknüpfen.
genau so wie zb mit kontakt, usw.?

gibt es vielleicht einen "navigations editor" als extension?
oder baut man sich sowas mit fce?
oder geht das mit ts - das man bestimmten seiten mit bestimmten grafiken verknüpft?

schon jetzt vielen dank!!!!

ramiz ·

hallo genau vor dem gleichen problem stehe ich gerade auch.
habe auch grafische buttons wo der text schon mit draufsteht, wegen der schriftart und effekten wie schattierung...

lorrey ·

Hallo,

ich probiere jetzt mit folgenden Code rum...
das geht soweit, aber wie bekomme das für alle Menüpunkte hin?
hoffe ihr könnt mit helfen !!!
das muss dóch irgendwie gehen?

danke!

lib.nav-main = HMENU
lib.nav-main {
  special = list
  special.value = 19
  1=GMENU 
  1 {
    wrap(
    |
    )
    NO {
      wrap (
      &nbsp;     
      )
      XY=54,35 
      5=IMAGE
      5.file=fileadmin/templates/images/navigation-home-o.gif
      }
    }
    RO < .NO 
    RO=1 
    RO.5.file=fileadmin/templates/images/navigation-home-s.gif
    ACT < .RO
    ACT=1
  }
}
Unbekannter Benutzer ·

Ja, dafür brauchst du das Media-Feld in den Seiteneigenschaften, das kannst du folgendermaßen ansprechen (Auszug aus deinem TS):

5=IMAGE
5.file=fileadmin/templates/images/navigation-home-o.gif

### ERSETZEN DURCH ->

5=IMAGE
5.file {
import.field = media
import = uploads/media/
import.listNum = 0
}

Dann klappts auch mit den vorgefertigten Bildern. Diese halt dann über das Mediafeld der entsprechenden Seite hochladen.

Grüße

Christian

lorrey ·

Hey danke,

hab mittlerweile sogar selbst hinbekommen... 🙂

Hier das Script:

lib.nav-main = HMENU
lib.nav-main.special = list
lib.nav-main.special.value = 19, 9, 23, 12, 22
lib.nav-main.1 = GMENU
lib.nav-main.1 {

    NO = 1
    NO {

        10 = IMAGE
        10 {
            file.import.field = media
            file.import = fileadmin/templates/images/
            file.import.listNum = 1

        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }

    RO = 1
    RO {

        10 = IMAGE
        10 {
            file.import.field = media
            file.import = fileadmin/templates/images/
            file.import.listNum = 0
        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }

    ACT = 1
    ACT {
 
        10 = IMAGE
        10 {
            file.import.field = media
            file.import = fileadmin/templates/images/
            file.import.listNum = 0
        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }
}
blueX ·

Hi 😉

Hm also ich hänge gerad vor ganeu dem selben problem. wie soll ich die bilder benennnen und in welches media feld hochladen???? die bilder als mediainhalt??? oder wie? hmmm bin verwirrt :o
hoffe mir kann jemand helfen 😉

mfg BlueX 8-)

Unbekannter Benutzer ·

Also den Code hast du ja schon...
Wie die Bilder heißen ist egal.

Geh in die Seiteneigenschaften einer der Seiten die zu einem Button gehört
Stell den Seitentyp auf "Erweitert"
Guck weiter unten in dem Formular und du wirst das Media-Feld finden.
Dort wählst du jetzt dein Bild aus
so machst du es bei jeder Seite mit dem passenden Button

FERTIG

Viele Grüße

Christian

blueX ·

ok gut . jetzt hab ich es 🙂 allerdings wird mir immer nur der aktuelle button anezeigt die anderen nich =/ muss ich den code für die navi evtl bei jeder seite in TSconfig speichern? oder muss ich für jeden button den code einmal ins ts schreiben und dann immer mit der nächsten nummer??? und wie regel ich des mit dem mouseover?

sorry bin noch total unwissend , hab erst neulich mit typo angefangen :o

mfg
blueX

Unbekannter Benutzer ·

Hi, hatte nicht gesehen, dass du hier noch gepostet hattest. Also du musst den Code nur einmal in dein root-Template einbauen.

Hier musst du natürlich die IDs an deine Seiten anpassen, bzw. mit special directory arbeiten:

lib.nav-main.special = list
lib.nav-main.special.value = 19, 9, 23, 12, 22

außerdem, wenn du direkt beim Mediafeld auf hochladen gehst, müsste das hier jeweils:

file.import = fileadmin/templates/images/

in

file.import = uploads/media/

Ändern.

Ansonsten gibt uns mal ein bisschen mehr infos -> vielleicht auch mal deinen Code und Seitenaufbau.

blueX ·

ahhh geilo .. danke jetzt geht es 🙂
sag mal kann man es auch deaktivieren das er die bilder in png´s umwandelt ? weil die haben da kein imagemagic auf ihrem server 0o wollte des eigendlich so haben das des bild direkt übernommen wird , png is mir zu schlechte qualli. 0o

mfg
blueX

blueX ·

achso hier noch der code:

config {
	doctype = xhtml_trans
	xmlprologue = none
	htmlTag_langKey = de
	xhtml_cleaning = all
	#Kommentare ausblenden
	disablePrefixComment = 1
}

# Default PAGE object:
page = PAGE
page.stylesheet = style*.css
page.10 = USER
page.10.userFunc = tx_TemplaVoila_pi1->main_page

	
lib.nav-main = HMENU
lib.nav-main.special = list
lib.nav-main.special.value = 1, 10, 11, 12, 13, 14, 15
lib.nav-main.1 = GMENU
lib.nav-main.1 {
    wrap = <img src="fileadmin/templates/b_left.jpg" /> | <img src="fileadmin/templates/b_right.jpg" />
    

    RO = 1
    RO {

        10 = IMAGE
        10 {
            file.import.field = media
            file.import = uploads/media/
            file.import.listNum = 0
        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }

    ACT = 1
    ACT {

        10 = IMAGE
        10 {
            file.import.field = media
            file.import = uploads/media/
            file.import.listNum = 0
        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }
    NO = 1
    NO {

        10 = IMAGE
        10 {
            file.import.field = media
            file.import = uploads/media/
            file.import.listNum = 1

        }
        XY = [10.w],[10.h]
        wrap = |<img src="{$menu_sep.file}" />|
    }
}

muss da jetzt nur noch irgendwie was einbauen das typo mir auhc die bilder ausgibt die ich hochgeladen hab. immoment wandelt er die immer in png um , weil die da auf ihrem server kein im haben und die gd kein gif unterstützt .... 0o