Zum Inhalt springen

Farblicher Hintergrund für Text in GMENU?

Erstellt am 1. April 2004 · 7 Antworten · letzte Antwort am 2. April 2004

Tags: Frage

menphrad ·

Hi,

Ich habe ein GMENU, das aus einem Bild erstellt wird. In diesem Bild ist allerdings ein Strich, der den Text stören würde. Ist es nun möglich, für den Text eine Hintergrundfarbe zu definieren, die diesen Strich überlagert. Das ganze soll also quasi so aussehen:
Bild:
------------------------>
GMENU:
---TEXT----------------->

Vielen Dank & freundliche Grüße,

Manfred

tomp ·

Hi,

ich bin mir nicht ganz sicher ob du das so ähnlich wie beim z.B. bei einem Rollover Effekt meinst bei dem der Text mit backColor andersfarbig hinterlegt wird.
Das Problem mit backColor und einem Bild war bei mir allerdings, dass die backColor ja im Hintergrund ist und das Bild z.B. auf Ebene 10, also vor der backColor.
Ich hab dazu für die "Hintergrundfarbe" eine neue Ebene angelegt:

page.30.2.NO {
XY = 220, 20
5 = IMAGE
5.file = fileadmin/img/sunset_keywest.jpg
5.height = 200
... }

page.30.2 {
RO < .NO
RO = 1
RO {
7 = IMAGE
7.file = GIFBUILDER
7.file {
XY = 220, 20
backColor = #BCF3F3
}
10.fontColor = green
10.niceText = 1
}
}

Damit ist dann die Hintergrundfarbe auf einer höheren Ebene als das Bild.

Vielleicht hilft das was.

Tom

menphrad ·

Hi Tom,

Ich fürchte, das ist nicht so ganz das, was ich meine ... oder vielleicht doch? (ich bin recht neu in TYPO3 *g*)
Ein Bild sagt bekanntlich mehr als 1000 Worte:
Zu sehen ist das Menü auf http://www.eflow.at/index.php?id=397. Wie erwähnt, es geht um das Menü Level 1 - da möchte ich den Strich hinter dem Text weg haben! ;-)

Liebe Grüße,

Manfred

tomp ·

Hi,

ich hab auch erst vor kurzem mit Typo3 angefangen, vielleicht könnte man den Code auch noch verbessern.
Hier das ganze nochmal etwas auf dein Beispiel angepasst. Backact.gif ist das gif von einem Aktiven Menupunkt aus deinem Beispiel.

page.30 = HMENU
page.30.1 = GMENU_LAYERS
page.30.1 {
layerStyle = position:absolute;left:0px;top:30px;width:10px;VISIBILITY:hidden;
expAll=1
}
page.30.1.NO {
#Größe der Menupunkte (=Größe von backact.gif)
XY = 152, 15
#müsste auch funktionieren falls statt backact.gif der Menupunkt auf Ebene 5 gerendert wird.
5 = IMAGE
5.file = fileadmin/img/backact.gif
5.file.height = 15
#auf Ebene 10 kommt der Text für die Menupunkte
10 = TEXT
10.fontSize = 10
10.fontColor = black
10.text.field = title
10.align = center
10.valign = top
#niceText verschlechtert Hintergrundgrafiken, deshalb auskommentiert
# 10.niceText = 1
10.offset = 1,10
}
page.30.1 {
#Gesamtgröße des Menupunkts
XY = 152, 15
ACT < .NO
ACT = 1
ACT {
#Ebene 7 übermalt Ebene 5 mit dem Hintergrund(bild)
7 = IMAGE
#Offset zum Einstellen, wo die übermalte Fläche beginnt 20, 0 wäre besser, aber 20, 3 zeigt besser was die Werte machen
7.offset = 20,3
7.file = GIFBUILDER
7.file {
#Größe der übermalten Fläche, damit nicht bis zum Ende des Menupunkts übermalt wird
XY = 80, 15
#Farbe der Fläche
backColor = #E9AE60
}
10.fontColor = blue
#10.niceText = 1
}

bei der Anpassung des offsets bzw. der XY Werte von Ebene 7 ist vielleicht [10.w]+... besser, um die Fläche genau auf die einzelnen Menupunkte anzupassen.

Vielleicht ist der Weg auch vieeeel zu umständlich 😉
Wenn du die Linien selbst erzeugst, dann könntest du versuchen, schon beim Erzeugen der Linie den Text mit reinzubekommen. Ist aber nur so eine Idee, da kann ich dir leider nicht mit einem Beispiel helfen.

Grüße
Tom

menphrad ·

Hi,

Ja, das ist schon mal ein richtiger Weg ... aber das [10.w] will nicht so ganz ...

Hier ist der gesamte Code:

temp.menue_hauptkategorie = HMENU
temp.menue_hauptkategorie.1 = GMENU
temp.menue_hauptkategorie.1 {
 # NO = NORMAL
 NO {
  wrap = | <BR>
  XY = [4.w], [4.h]
  backColor = black
  4 = IMAGE
  4.file = fileadmin/template/images/menue1_bg-oben-NO.gif |*| fileadmin/template/images/menue1_bg-mitte-NO.gif |*| fileadmin/template/images/menue1_bg-unten-NO.gif
###
  7 = IMAGE 
  7.offset = 30, 3 
  7.file = GIFBUILDER 
  7.file { 
# --> [10.w] funktioniert nicht!? :-(
   XY = [10.w]+5, 15 
#
   backColor = red
   # backColor = #E9AE60 
   5 = BOX
   5.dimensions = 20,20,160,260
   5.color = green 
   # 5.color = #E9AE60 
  }
###
  10 = TEXT
  10.text.field = title
  10.text.case = upper
  10.fontColor = #C67542
  10.offset = 30, 9
  10.align = left
  10.niceText = 1
  10.antiAlias = 0
  10.fontSize = 10
  10.fontFile = fileadmin/template/fonts/MagistralATT_Bold.ttf
 }
 # RO = ROLL OVER
 RO < .NO
 RO = 1
 RO {
  4.file = fileadmin/template/images/menue1_bg-oben-RO.gif |*| fileadmin/template/images/menue1_bg-mitte-RO.gif |*| fileadmin/template/images/menue1_bg-unten-RO.gif
  10.fontColor = #51525F
 }
 # ACT = ACTIVE
 ACT < .RO
 ACT = 1
 ACT {
  4.file = fileadmin/template/images/menue1_bg-oben-ACT.gif |*| fileadmin/template/images/menue1_bg-mitte-ACT.gif |*| fileadmin/template/images/menue1_bg-unten-ACT.gif
 }
}

Zu betrachten ist das derzeitige Ergebnis auf http://www.eflow.at/index.php?id=397 ...

Vielen Dank weiterhin! ;-)

tomp ·

hi

hm, ja.. das funktioniert so nicht, weil temp.menue_hauptkategorie.1.NO.7.file auf den Wert von temp.menue_hauptkategorie.1.10.w zugreifen müsste.
Das Ganze kann man bestimmt über eine Variable lösen, die man definiert, aber ich kann das nicht #paralyzed#

Auf nicht so elegante Art würde es auch so gehen, indem du noch in 7.file{ folgendes vor dem XY = [10.w]... einfügst
10 = TEXT
10.fontSize = 10
10.text.field=title
#10.fontColor = Hintergrundfarbe (falls der Titel nochmal ausgegeben wird)

Grüße
Tom

menphrad ·

Derzeit sieht das Setup so aus:

temp.menue_hauptkategorie = HMENU
temp.menue_hauptkategorie.1 = GMENU
temp.menue_hauptkategorie.1 {
 # NO = NORMAL
 NO {
   wrap = | <BR>
   XY = [1.w], [1.h]
   backColor = black
   1 = IMAGE
   1 {
     file = GIFBUILDER
     file {
       XY = [5.w], [5.h]
       5 = IMAGE
       5 {
         file = fileadmin/template/images/menue1_bg-oben-NO.gif |*| fileadmin/template/images/menue1_bg-mitte-NO.gif |*| fileadmin/template/images/menue1_bg-unten-NO.gif
         offset = 0,0
       }
       10 = BOX
       10 {
         dimensions = 20, 20, 160, 160
# 20,20,[15.w]+20,[15.h]+10
         color = green
       }
       15 = TEXT
       15 {
         text.field = title
         text.case = upper
         fontColor = #C67542
         offset = 30, 9
         align = left
         niceText = 1
         antiAlias = 0
         fontSize = 10
         fontFile = fileadmin/template/fonts/MagistralATT_Bold.ttf
       }
     }
   }
 }
 # RO = ROLL OVER
 RO < .NO
 RO = 1
 RO {
   1.file.5.file = fileadmin/template/images/menue1_bg-oben-RO.gif |*| fileadmin/template/images/menue1_bg-mitte-RO.gif |*| fileadmin/template/images/menue1_bg-unten-RO.gif
   1.file.15.fontColor = #51525F
 }
 # ACT = ACTIVE
 ACT < .RO
 ACT = 1
 ACT {
   1.file.5.file = fileadmin/template/images/menue1_bg-oben-ACT.gif |*| fileadmin/template/images/menue1_bg-mitte-ACT.gif |*| fileadmin/template/images/menue1_bg-unten-ACT.gif
 }
}

Passt aber leider auch nicht --> siehe http://www.eflow.at/index.php?id=406
Ich dachte mir niemals, dass das so kompliziert sein könnte! ;-)

Liebe Grüße,

Manfred

menphrad ·

😃 "ICH HAB'S!" 8-)

temp.menue_hauptkategorie = HMENU
temp.menue_hauptkategorie.1 = GMENU
temp.menue_hauptkategorie.1 {
 # NO = NORMAL
 NO {
   wrap = | <BR>
   XY = [1.w], [1.h]
   backColor = black
   1 = IMAGE
   1 {
     file = GIFBUILDER
     file {
       XY = [5.w], [5.h]
       5 = IMAGE
       5 {
         file = fileadmin/template/images/menue1_bg-oben-NO.gif |*| fileadmin/template/images/menue1_bg-mitte-NO.gif |*| fileadmin/template/images/menue1_bg-unten-NO.gif
         offset = 0,0
       }
       10 = BOX
       10 {
         dimensions = 28,0,[15.w]+4,[15.h]+10
         color = #E9AE60
       }
       15 = TEXT
       15 {
         text.field = title
         text.case = upper
         fontColor = #C67542
         offset = 30, 9
         align = left
         niceText = 1
         antiAlias = 0
         fontSize = 10
         fontFile = fileadmin/template/fonts/MagistralATT_Bold.ttf
       }
     }
   }
 }
 # RO = ROLL OVER
 RO < .NO
 RO = 1
 RO {
   1.file.5.file = fileadmin/template/images/menue1_bg-oben-RO.gif |*| fileadmin/template/images/menue1_bg-mitte-RO.gif |*| fileadmin/template/images/menue1_bg-unten-RO.gif
   1.file.15.fontColor = #51525F
 }
 # ACT = ACTIVE
 ACT < .RO
 ACT = 1
 ACT {
   1.file.5.file = fileadmin/template/images/menue1_bg-oben-ACT.gif |*| fileadmin/template/images/menue1_bg-mitte-ACT.gif |*| fileadmin/template/images/menue1_bg-unten-ACT.gif
 }
}

Vielen Dank für die Hilfe!

Liebe Grüße,

Manfred