Zum Inhalt springen

Tabellen / Hintergrund / TMenu

Erstellt am 18. Juni 2003 · 8 Antworten · letzte Antwort am 25. Juni 2003

Tags: Frage

eichbaum ·

Hi Leute!

Ich habe ein gemütliches TMenu erstellt, was auch wunderbar funktioniert.

Nur habe ich kein Standard-Template genommen, sondern mein eigenes.

Jetzt habe ich 3 Problemchen:

1)
Die Zellen, in denen das Menü aufgebaut wird, haben keine Hintergrundfarbe - und erscheinen trotzdem weiß, überdecken also das Hintergrundbild.

2)
Die dynamischen Teile (Menü) werden automatisch folgendermaßen aufgebaut:

<TBODY>
        <TR align=left vAlign=top>
...

Wie kommt das zustande bzw. wo kann ich das ändern? Da steige ich noch nicht durch...

3)
Ich habe noch kleine Schwierigkeiten mit der Einbindung der Menü-Platzhalter im Template. Momentan sieht das bei mir so aus:

<!--###MENU_LEVEL1###  start-->
<!--###MENU_LEVEL1###  stop-->
<!--###MENU_LEVEL2###  start-->
<!--###MENU_LEVEL2###  stop-->

Aber natürlich wird mir hier Level2 nur unter dem kompletten Level1 angezeigt - und nicht wie eigentlich gewünscht in verschachtelter Struktur:

Level1.1
  Level2.1
  Level2.2
Level 1.2
usw...

Ich vermute, daß ich da einen Codeschnipsel im Setup verändern muß - nur ist mir im Moment noch nicht klar, welcher. Mein Setup:

  subparts.MENU = HMENU
  subparts.MENU.1 = TMENU
  subparts.MENU.1.NO {
    ATagParams= class="menutop"
    allWrap = &nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;
  }

  subparts.MENU_LEVEL1 = HMENU
  subparts.MENU_LEVEL1.entryLevel = 1
  subparts.MENU_LEVEL1.1 = TMENU
  subparts.MENU_LEVEL1.1.NO {
    ATagParams= class="menu1"
    allWrap = <tr height="21"><td height="21"> | </td></tr>
  }

  subparts.MENU_LEVEL2 = HMENU
  subparts.MENU_LEVEL2.entryLevel = 2
  subparts.MENU_LEVEL2.1 = TMENU
  subparts.MENU_LEVEL2.1.NO {
    ATagParams= class="menu2"
    allWrap = <tr height="21"><td height="21">&nbsp;&nbsp;&nbsp;&nbsp; | </td></tr>
  }

Vielleicht kann mir jemand weiterhelfen - und sei es nur, daß ich einen Hinweis bekomme, wo ich das alles nachlesen kann. Die Objektstruktur für TypoScript ist ja gut und schön...aber irgendwie stehe ich gerade auf dem Schlauch.

Danke und einen schönen Gruß!
eichbaum

eichbaum ·

Problem 3) ist gelöst - das war natürlich der falsche Code im Setup. Der richtige muß lauten:

  subparts.MENU_LEVEL1 = HMENU
  subparts.MENU_LEVEL1.entryLevel = 1
  subparts.MENU_LEVEL1.1 = TMENU
  subparts.MENU_LEVEL1.1.NO {
  ATagParams= class="menu1"
  allWrap = <tr height="21"><td height="21"> | </td></tr>
  }

  subparts.MENU_LEVEL1.2 = TMENU
  subparts.MENU_LEVEL1.2.NO {
    ATagParams= class="menu2"
    allWrap = <tr height="21"><td height="21">&nbsp;&nbsp;&nbsp;&nbsp; | </td></tr>
  }

Der Unterschied: Das "Level 2.1" muß "Level 1.2" heißen. Dann klappt´s auch mit dem Aufklappen...

Allerdings habe ich immer noch das Problem, daß die Tabellenzellen den Hintergrund überdecken - obwohl im HTML-Code keine Zellenfarbe ausgegeben wird. Hat hier vielleicht noch jemand eine Lösung für mich?

Danke und einen schönen Gruß,
eichbaum

maxhb ·

Hi!

eichbaum schrieb

[Allerdings habe ich immer noch das Problem, daß die Tabellenzellen den Hintergrund überdecken - obwohl im HTML-Code keine Zellenfarbe ausgegeben wird. Hat hier vielleicht noch jemand eine Lösung für mich?

Ich würde ja fast wetten, dass die Tabelle eine Hintergrundfarbe hat, die dann automatisch auf die Tabellenzellen "vererbt" wird 😉

<table bgcolor=#ffffff>

oder per CSS.
CU
maxhb

eichbaum ·

DAS ist es ja gerade, was mich verwirrt: Dem ist nämlich nicht so.

Nicht per css
Nicht im Template
Nicht (zumindest nicht für mich erkennbar) im Setup

Glaubt mir, ich habe alles durchgesucht...

eichbaum ·

OKOKOK...

Ich bin tatsächlich blind.

Nachdem ich mein css-file zum x-ten Mal durchgeschaut habe, tauchte da plötzlich doch ein "background-color" für "td" auf.

Ihr wißt ja: Der Wald und die Bäume. Aber vielleicht ist dieser Thread für jemanden anders nützlich - für mich war er es ja auch, auch wenn es eher an öffentliche Selbsttherapie grenzt...

Danke für Eure stillschweigende Unterstützung,
eichbaum

Jonathan ·

Vom selben Doku abgeschrieben #paralyzed#

Naja, bin neidisch - weil bei dir scheint es sich ja zu schachteln. Bei mir tut es das noch nicht, dabei sehen die Einträge denkbar identisch aus:

 subparts.MENU = HMENU 
 subparts.MENU.1 = TMENU 
 subparts.MENU.1.NO { 
  allWrap = <tr><td width="170" background="Images/NavLinksMitte.gif">|</td> </tr>
  ATagParams= class="navlinks" 
 }

 subparts.MENU_LEVEL1 = HMENU 
 subparts.MENU_LEVEL1.entryLevel = 1 
 subparts.MENU_LEVEL1.1 = TMENU 
 subparts.MENU_LEVEL1.1.NO { 
  allWrap = <tr><td background="Images/NavLinksMitte.gif">&middot;&nbsp; | </td></tr> 
  ATagParams= class="fliesstext"
 }

Ehrlich gesagt wüßte ich auch nicht, warum es sich schachteln sollte, da im Template folgendes steht:

< !--###MENU###  start-->
<!--###MENU###  stop-->
<!--###MENU_LEVEL1###  start-->
<!--###MENU_LEVEL1###  stop-->

Ich schätze, ich muss aus diesen zwei verschiedenen Menu Tags eins machen und die im Setup irgendwie vereinen.

Doch hab ich das auch noch nicht ganz verstanden. Schade eigentlich. Jedenfalls bin ich für jeden Ratschlag dankbar.

Warum hast Du eigentlich zwei subpart Levels? Hängt das evtl. mit der Lösung zusammen?

eichbaum ·

Hi Jonathan,

Meine Menüstruktur sieht folgendermaßen aus:

- Menu
  - Menu_Level1
  - Menu_Level1
- Menu
  - Menu_Level1
    - Menu_Level1.1
    - Menu_Level1.1
  - Menu_Level1
    - Menu_Level1.1
      - Menu_Level1.2
- Menu

Deswegen auch 2 Subparts - Du brauchst für jede Unterverschachtelung eine eigene Subpart-Definition.

Im Quellcode mußt Du menu und menu_level1 klar getrennt sehen - das hat nichts mit der Verschachtelung zu tun.

Orientiere Dich an der Struktur oben, das macht es deutlich.

Ist leider ein wenig Fummelei - aber das ist nunmal der Vorteil von Typo3 gegenüber vielen anderen: Du kannst ALLES frei definieren, mußt es aber auch leider tun, wenn Du anständige Ergebnisse erzielen möchtest. Auch Contenido ist ein feines System - und weitaus einfacher zu bedienen. Aber dafür auch restriktiver und unflexibler. Der Webmaster möge mir die Einbindung der markenfremden Domain verzeihen...es dient der Abschreckung... ;-)

Einen schönen Gruß - beiß´ Dich durch, es lohnt sich...
eichbaum

Jonathan ·

cool. habe jetzt einiges an meinem Code geändert und gesäubert. Läuft jetzt auch hervorragend bis zur Level drei. Aber da mein Projekt gewachsen ist (es wird ein Buch mit mehreren Unterkapiteln eingebunden) brauche ich vier leveln. Eigentlich klingt das doch echt easy - aber mein Code haut nicht hin? Kann nur eine Kleinigkeit sein - bin für jeden ratschlag dankbar!

# Menübereich

subparts.MENU = HMENU 
subparts.MENU.1 = TMENU 
subparts.MENU.1.NO { 
  allWrap = <tr><td width="170" background="Images/NavLinksMitte.gif">|</td> </tr>
  ATagParams= class="navleftlevelone" 
 }

subparts.MENU.2 = HMENU
subparts.MENU.2 = TMENU 
subparts.MENU.2.NO { 
  allWrap = <tr><td background="Images/NavLinksMitte.gif"><div class="navleftleveltwoposition">&middot; |</div> </td></tr> 
  ATagParams= class="navleftleveltwo" 
 }

subparts.MENU.3 = HMENU
subparts.MENU.3 = TMENU 
 subparts.MENU.3.NO { 
  ATagParams= class="navleftlevelthree" 
  allWrap = <tr><td background="Images/NavLinksMitte.gif"><div class="navleftlevelthreeposition">&middot;|</div> </td></tr> 
   }

subparts.MENU.4 = TMENU 
 subparts.MENU.4.NO { 
  ATagParams= class="navleftlevelfour" 
  allWrap = <tr><td background="Images/NavLinksMitte.gif"><div class="navleftlevelfourposition">&middot;|</div> </td></tr> 
   }