Zum Inhalt springen

Grafischen Menüpunkt aufstellen

Erstellt am 5. September 2006 · 8 Antworten · letzte Antwort am 7. September 2006

Tags: Frage

dj_jeff ·

Wie bekomme ich sowas in Typo3 V4 hin ?
Bild: friweika.de/…/nav-news.gif

Mit meinem Versuch das grafische Menü im TypoScript aufzubauen, ging leider der Punkt aus der Grafik heraus.
Bild: friweika.de/…/news2.gif

Über folgenden Codeschnipsel lasse ich die Grafik generieren:

    MENU_LEFT = HMENU
    MENU_LEFT.entryLevel = 0
    MENU_LEFT.1 = GMENU
    MENU_LEFT.1.NO {
      wrap = <tr><td colspan="2">|</td></tr>
      backColor = #4C4C4C
      XY = 133, 35
      10 = TEXT
      10.align=right
      10.text.field = title
      10.fontFile = fileadmin/fonts/arialbd.ttf
      10.fontSize = 15
      10.fontColor = #FFFFFF
      10.offset = -30, 25
      10.niceText = 0
      20 = IMAGE
      20.XY = 150,35
      20.file = fileadmin/images/nav-bullet.gif
      20.offset = 120, 3
    }
Unbekannter Benutzer ·

Na dein Anfang sieht doch gut aus. Was genau ist denn das Problem? Das der Punkt aus der Grafik rausgeht liegt nur am Offset, den kannst du ja einfach ändern.

Grüße

Christian

dj_jeff ·

Der Offset ist schon so richtig. Problem ist, dass der zweite Halbkreis aus der Grafik herausragt und deshalb wahrscheinlich nicht gedruckt wird.

Ziel ist wahrscheinlich die Grafikdimensionen auf die Gesamtbreite (mit kompletten Kreis) auszudehen. Dann müsste man wahrscheinlich den grauen Bereich irgendwie als ausgefülltes Rechteck darstellen und der zweiten Halbkreisbereich transparent geschalten werden.

Falls sowas geht, dann wie ist das zu realisieren ?

d.​walter ·

Also Kitsunet hat schon recht, dass sieht wirklich nach einem offset-problem aus.

Du hast ein grundfläche von 133px breite und dein Punkt soll bei 120px beginnen. Also ist die der Punkt jetzt max. 13px breit oder du musst ihn früher beginnen lassen.

Gruß
Daniel

dj_jeff ·
d.walter schrieb

Also Kitsunet hat schon recht, dass sieht wirklich nach einem offset-problem aus.

Du hast ein grundfläche von 133px breite und dein Punkt soll bei 120px beginnen. Also ist die der Punkt jetzt max. 13px breit oder du musst ihn früher beginnen lassen.

Gruß
Daniel

Schaut mal auf das erste Bild. Dort ist der Kreis zur Hälfte auf dem grauen Hintergrund zur anderen Hälfte auf der transparenten (hier gelben) Fläche. Das ist das Ziel.
Aktueller Stand ist, dass ich nur den kompletten Hintergrundbereich grau einfärben kann und nicht nur bis zur Hälfte des Kreises. Ergo kann ich als Hintergrundfarbe nicht komplett grau nehmen, sondern müsste wohl ein Rechteck grau, das bis zur linken Hälfte des Kreises reicht und ein Rechteck transparent, welches von der rechten Hälfte bis zum rechten Ende der Grafik reicht, erstellen.

d.​walter ·

Naja, die Sache ist doch die, du hast ein objekt erstellt, dass 133px breit ist.

Auf diesen 133px kannst du alles machen, was du willst! Aber mehr wie 133px hast du nicht.

Mein Vorschlag:

Du baust dir ein Objekt, dass genauso breit ist, wie du es brauchst. Dann nimmst du irgend eine Farbe für dieses Objekt und legst fest, das die Farbe Transparent ist.

Als Nächstes setzt du darauf dein graues Rechteck und dann deinen Punkt.

Was nicht geht, ist das du sagst, ich habe eine graue Fläche, die ist 133px breit aber mein Punkt soll zur Hälfte darüber hinaus ragen.

Du musst ein Objekt erstellen (XY = xxx,xxx) das mindestens genauso breit sein muss, wie die Gesamtbreite aller Elemente die du darauf platzieren möchtest.

Gruß

dj_jeff ·

Funktioniert irgendwie nicht so richtig mit dem Transparentschalten der blauen Box, die ich noch erstellt habe. Statt blau wird alles was weiß ist transparent geschalten.

    MENU_LEFT = HMENU
    MENU_LEFT.entryLevel = 0
    MENU_LEFT.1 = GMENU
    MENU_LEFT.1.NO {
      wrap = <tr><td colspan="2">|</td></tr>
      # backColor = #4C4C4C
      # XY = 133, 35
      XY = 149, 35
      transparentBackground = 1
      transparentColor = #0000FF
      10 = TEXT
      10.align=right
      10.text.field = title
      10.fontFile = fileadmin/fonts/arialbd.ttf
      10.fontSize = 15
      10.fontColor = #FFFFFF
      10.offset = -40, 25
      10.niceText = 0
      20 = IMAGE
      20.XY = 150,35
      20.file = fileadmin/images/nav-bullet.gif
      20.offset = 120, 3
      4 = BOX
      4.dimensions = 0, 0, 133, 35
      4.color = #4C4C4C
      5 = BOX
      5.dimensions = 134, 0, 16, 35
      5.color = #0000FF
    }
Unbekannter Benutzer ·

Du hast jetzt auch zwei verschiedene Sachen gemacht die sich beißen...

mit transparentBackground = 1 wird die Hintergrundfarbe transparent geschaltet und da du keine Hintergrundfarbe angegeben hast, ist das Standardmäßig weiß...

mit transparentColor = #0000ff stellst du die entsprechende Farbe transparent, also wenn es das ist, was du willst, dann lösch die andere Zeile.