Zum Inhalt springen

TMENU mit Grafik

Erstellt am 25. Januar 2005 · 5 Antworten · letzte Antwort am 25. Januar 2005

Tags: Frage

stefansvw ·

Hallo,

bin noch nicht ganz firm in TypoScript und habe folgende Frage an Euch:

Ich möchte eine Navigation mit folgendem HTML-Code in TypoScript schreiben und zwar so, das vor jeden Obermenüpunkt eine Grafik sowie vor jede Submenü eine Grafik kommt.

Der HTML- Code:

... 
<td class="menu_1" id="menu_1">
  <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="3" class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Home</a></td>
      </tr>
    <tr>
      <td class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Unternehmen</a></td>
      </tr>
    <tr>
      <td class="menu1-level1-act"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Produkte</a></td>
      </tr>
    <tr>
      <td ><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td class="menu1-level2-no"><a href="#"><img src="images/space.gif" border="0" width="10" height="1" /><img src="images/navi_sub.png" border="0" width="5" height="9" /> ad->direkt</a></td>
        </tr>
        <tr>
          <td class="menu1-level2-no"><a href="#"><img src="images/space.gif" border="0" width="10" height="1" /><img src="images/navi_sub.png" border="0" width="5" height="9" /> ARTOS
              II</a></td>
        </tr>
        <tr>
          <td class="menu1-level2-no"><a href="#"><img src="images/space.gif" border="0" width="10" height="1" /><img src="images/navi_sub.png" border="0" width="5" height="9" /> Atlas&#8482; </a></td>
        </tr>
        <tr>
          <td class="menu1-level2-no"><a href="#"><img src="images/space.gif" border="0" width="10" height="1" /><img src="images/navi_sub.png" border="0" width="5" height="9" /> OneKey&#8482;</a></td>
        </tr>
      </table>
      </td>
    </tr>
    <tr>
    <td class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Services</a></td>
      </tr>
    <tr>
      <td height="15"  class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> News & Events</a></td>
      </tr>
    <tr>
      <td class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Referenzen</a></td>
      </tr>
    <tr>
      <td class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Datenschutz</a></td>
      </tr>
    <tr>
       <td  class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Karriere</a></td>
      </tr>
    <tr>
       <td  class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Kontakt</a></td>
      </tr>
    <tr>   
      <td class="menu1-level1-no"><a href="#"><img src="images/navi_left.png" border="0" width="11" height="11" /> Sitemap</a></td>
      </tr>
  </table> 
</td>...

und dazu mein kompletter mangelhafter TypoScript

...

# Configuring the Auto-Parser for main templates:
plugin.tx_automaketemplate_pi1 {
  #Read the template file:
  content = FILE
  content.file = fileadmin/template/main/index.html

 
  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY

    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title

    TD.all = 1 
   }
relPathPrefix =  fileadmin/template/main/
}

#Menu 1 cObject
temp.menu_1 = HMENU
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO.allWrap = <td class="menu1-level1-no"><img src="fileadmin/templates/main/images/navi_left.png" border="0" width="11" height="11" /> | </td>

ACT = 1
ACT.allWrap = <td class="menu1-level1-act"><img src="fileadmin/templates/main/images/navi_left.png" border="0" width="11" height="11" /> | </td>

}

temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO.allWrap =  <td class="menu1-level2-no"><img src="fileadmin/templates/main/images/space.gif" border="0" width="10" height="1" /><img src="fileadmin/templates/main/images/navi_sub.png" border="0" width="5" height="9" /> | </td>


ACT = 1
ACT.allWrap = <td class="menu1-level2-act"><img src="fileadmin/templates/main/images/space.gif" border="0" width="10" height="1" /><img src="fileadmin/templates/main/images/navi_sub.png" border="0" width="5" height="9" /> | </td>

}

#Main Template cObject for the body
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
 # Feeding the content from the Auto-parser to the TEMPLATE cObject:
 template =< plugin.tx_automaketemplate_pi1
 # Select only the content between the <body>-tags
 workOnSubpart = DOCUMENT_BODY

subparts.menu_1 < temp.menu_1

subparts.content < styles.content.get
}

#Main Template cObject for the head
temp.headTemplate = TEMPLATE
temp.headTemplate {
 # Feeding the content from the Auto-parser to the TEMPLATE cObject:
 template =< plugin.tx_automaketemplate_pi1
 # Select only the content between the <head>-tags
 workOnSubpart = DOCUMENT_HEADER
}

# Default PAGE object:
page = PAGE
page.typeNum = 0
page.bodyTag = <body bgcolor="#000000">


page.10 < temp.mainTemplate

page.headerData.10 < temp.headTemplate

Kann mir jemand einen Tip geben was ich hier falsch mache ????

Grüsse von Stefan

dergolo ·

Ich habe jetzt nicht Deinen Code gelesen, sondern nur den Text davor. Genau sowas habe ich mal umgesetzt und da dachte ich mir, kopiere ich es mal hier rein... 8-)

    SUBMENU = HMENU
    SUBMENU.entryLevel = 1
    SUBMENU.wrap = <table> | </table>
    SUBMENU.1 = TMENU
    SUBMENU.1 {
      NO {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball3s.gif
        beforeWrap = | &nbsp;
        RO = 1
        beforeROImg = fileadmin/templates/images/ball1s.gif
      }
      CUR = 1
      CUR {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball1s.gif
        beforeWrap = | &nbsp;
      }
    }
    
    SUBMENU.2 = TMENU
    SUBMENU.2 {
      NO {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball3s.gif
        beforeWrap = &nbsp;&nbsp;&nbsp; | &nbsp;
        RO = 1
        beforeROImg = fileadmin/templates/images/ball1s.gif
      }
      CUR = 1
      CUR {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball1s.gif
        beforeWrap = &nbsp;&nbsp;&nbsp; | &nbsp;
      }
    }

    SUBMENU.3 = TMENU
    SUBMENU.3 {
      NO {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball3s.gif
        beforeWrap = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;
        RO = 1
        beforeROImg = fileadmin/templates/images/ball1s.gif
      }
      CUR = 1
      CUR {
        allWrap = <tr><td height="20">|</tr></td>
        beforeImg = fileadmin/templates/images/ball1s.gif
        beforeWrap = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;
      }
    }
stefansvw ·

Hallo,

hat nicht so ganz geklappt. Jetzt sehe ich nur noch die Hindergrundfarbe sonst nix

Habe den Code wie folgt angepasst (oben steht ja die HTML)

#Menu 1 cObject
temp.menu_1 = HMENU
temp.menu_1.entryLevel = 1
temp.menu_1.wrap = <table> | </table> 
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO{
allWrap =  <tr><td colspan="3" class="menu1-level1-no"> | </td></tr>
beforeImg = fileadmin/template/main/images/navi_left.png
beforeWrap = | &nbsp;
RO = 1
beforeROImg = fileadmin/template/main/images/navi_left.png
}

 CUR = 1
      CUR {
        allWrap = <tr><td height="20" class="menu1-level1-no">|</tr></td>
        beforeImg = fileadmin/template/main/images/navi_left.png
        beforeWrap = | &nbsp;
      }
    } 

ACT = 1
ACT{
allWrap =  <tr><td colspan="3" class="menu1-level1-no"> | </td></tr>
beforeImg = fileadmin/template/main/images/navi_left.png
beforeWrap = | &nbsp;
RO = 1
beforeROImg = fileadmin/template/main/images/navi_left.png
}

 CUR = 1
      CUR {
        allWrap = <tr><td height="20" class="menu1-level1-no">|</tr></td>
        beforeImg = fileadmin/template/main/images/navi_left.png
        beforeWrap = | &nbsp;
      }
    } 
}

temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO{
allWrap =  <tr><td colspan="3" class="menu1-level2-no"> | </td></tr>
beforeImg = fileadmin/template/main/images/navi_sub.png
beforeWrap = | &nbsp;
RO = 1
beforeROImg = fileadmin/template/main/images/navi_sub.png
}
 CUR = 1
      CUR {
        allWrap = <tr><td height="20" class="menu1-level2-no">|</tr></td>
        beforeImg = fileadmin/template/main/images/navi_sub.png
        beforeWrap = | &nbsp;
      }
    } 

ACT = 1
ACT{
allWrap =  <tr><td colspan="3" class="menu1-level2-act"> | </td></tr>
beforeImg = fileadmin/template/main/images/navi_sub.png
beforeWrap = | &nbsp;
RO = 1
beforeROImg = fileadmin/template/main/images/navi_sub.png
}

 CUR = 1
      CUR {
        allWrap = <tr><td height="20" class="menu1-level2-act">|</tr></td>
        beforeImg = fileadmin/template/main/images/navi_sub.png
        beforeWrap = | &nbsp;
      }
    } 
}

kannst Du da den fehler erkennen ??

stefansvw ·

So funktioniert es nur halt noch mit einem bestimmt kleinen Problem und zwar wird nach jeder Grafik ein Zeilenumbruch
durchgeführt.

Also die Grafik und die dynamische Navigation liegen nicht in einer Zeile.

#Menu 1 cObject
temp.menu_1 = HMENU

temp.menu_1.wrap = <table> | </table>
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO{
allWrap = <tr><td height="20" class="menu1-level1-no">|</tr></td>
beforeImg = fileadmin/template/main/images/navi_left.png
beforeWrap = | &nbsp;
}

ACT = 1

ACT{
allWrap = <tr><td height="20" class="menu1-level1-act">|</tr></td>
beforeImg = fileadmin/template/main/images/navi_left.png
beforeWrap = | &nbsp;
}

}

temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO{
allWrap = <tr><td height="20" class="menu1-level2-no">|</tr></td>
beforeImg = fileadmin/template/main/images/navi_sub.png
beforeWrap = | &nbsp;
}

ACT = 1

ACT{
allWrap = <tr><td height="20" class="menu1-level2-act">|</tr></td>
beforeImg = fileadmin/template/main/images/navi_sub.png
beforeWrap = | &nbsp;
}
}

Wo liegt da noch der kleine Fehler ?

Ich würde es ja gerne online zeigen es wird aber per Intranet genutzt

Gruß
Stefan