Zum Inhalt springen

Untermenue-Problem

Erstellt am 9. Juni 2004 · 3 Antworten · letzte Antwort am 9. Juni 2004

Tags: Frage

Fantasy ·

Also folgendes Problem ich hab ein Menu das funtzt auch ganz gut (findet ihr unter http://typo3.loft-net.de/index.php?id=20) dieses Menue hat ein unter Menue (wird aufgerufen durch den Button Neuigkeiten).
Doch leider lädt er hier nur das Template (was ich etwas ummodifiziert habe von der ersten Vorlage) nicht das Menue. Eigentlich wollte ich die Vorlage von der ersten Seite nehmen. Doch da hat er auch nur das Template ohne Veränderungen angezeigt. Der Code für die erste Seite ist:

page = PAGE
page.typeNum = 0
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/stadt/starttempl.htm
workOnSubpart = BODY
subparts.INHALT < styles.content.get
subparts.MENUE = HMENU
subparts.MENUE.minItems = 7
subparts.MENUE.maxItems = 25
subparts.MENUE.1 = TMENU
subparts.MENUE.1.NO {
allWrap = <tr width="30%" bgcolor="#006600"><strong><font color="#FFFFFF">|</font></strong></tr>
}
}
page.stylesheet = fileadmin/stadt/css/main.css

Der Code für das Untermenue von Neuigkeiten ist:

page = PAGE
page.typeNum = 0
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/stadt/neutempl.htm
workOnSubpart = BODY
subparts.INHALT < styles.content.get
subparts.MENUE_LEVEL1 = HMENU
subparts.MENUE_LEVEL1.entryLevel = 2
subparts.MENUE_LEVEL1.minItems = 1
subparts.MENUE_LEVEL1.maxItems = 7
subparts.MENUE_LEVEL1.1 = TMENU
subparts.MENUE_LEVEL1.1.NO {
allWrap = <tr width="30%" bgcolor="#FFFFFF"><strong><font color="#006600">|</font></strong></tr>
}
}
page.stylesheet = fileadmin/stadt/css/main.css

das Template sieht so aus :

<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
      <!--###MENUE###  start-->
	  <tr>
        <td width="30%" bgcolor="#006600"><font color="#FFFFFF"><strong><a href="#Startseite">Startseite</a></strong></font></td>
      </tr>
      <tr>
        <td bgcolor="#006600"><strong><font color="#FFFFFF"><a href="#Neuigkeiten">Neuigkeiten</a></font></strong></td>
      </tr>
      <tr>
        <td bgcolor="#006600"><table width="90%" border="0" cellpadding="6" cellspacing="0" align="right">
		 <!--###MENUE1_LEVEL1###  start-->
		 <link href="css/tmpl.css" rel="stylesheet" type="text/css">
            <tr>
              <td bgcolor="#FFFFFF"><div align="left"><strong><font color="#006600"><a href="#Verwaltung">Verwaltung</a></font></strong></div>
              </td>
            </tr>
            <tr>
              <td bgcolor="#FFFFFF"><div align="left"><strong><font color="#006600">&Ouml;ffentliche
                      Bekanntmachung</font></strong></div>
              </td>
            </tr>
			<!--###MENUE1_LEVEL1###  stop-->
          </table>
....

<!--###MENUE###  stop-->

Mir ist ausserdem folgendes noch aufgefallen damit ich das Untermenue (MENUE1_LEVEL1 hier) mir anzeigen lassen kann muss ich erst mal das MENUE (Hauptmenue) bearbeiten. Das heist mein Problem ist ich muss dem ersten Objekt was im MENUE exestiert den Marker MENUE1_LEVEL1 zuweisen. Ein weiteres Problem (wird zwar erst später auftretten) ist das erweitern dern Hauptmenue inklusive der Erweiterung des Untermenues im klartext wenn ich ein neues Objekt von MENUE erzeuge, möchte ich mehrer Objekte von MENUE*_LEVEL1 erstellen.

ffr_dev ·

mal so vorne weg:
für was hast du ein stylesheet, wenn du width,bgcolor und font tag in den code schreibst?? o.O

fantasy schrieb

<tr width="30%" bgcolor="#006600"><strong><font color="#FFFFFF">|</font></strong></tr>

oder anders gesagt..
willst du sie nicht in das stylesheet moven?
so schreibst du es 2 mal (typotempl und htmltempl)
und es ist einfach schöner 😉

die lösung kann ich dir jetzt leider nicht geben,
aber ich schau mir das am nachmittag mal an.

ffr_dev ·

sorry, leider kann ich dir nicht helfen.

aber so als denkanstoss, schick ich dir mal meine lösung der site.

html

			<tr>
<!-- Menu table cell: -->
					<td width="250" id="menu_1">
						<table valign="top" border="0" cellspacing="0" cellpadding="0">
							<tr><td class="menu1-level1-no"><a href="#">Menu item 1</a></td></tr>
							<tr><td class="menu1-level1-act"><a href="#">Menu item 3 (act)</a></td></tr>
							<tr><td class="menu1-level2-no"><a href="#">Menu item 1</a></td></tr>
							<tr><td class="menu1-level2-act"><a href="#">Menu item 3 (act)</a></td></tr>
							<tr><td class="menu1-level3-no"><a href="#">Menu item 1</a></td></tr>
							<tr><td class="menu1-level3-act"><a href="#">Menu item 3 (act)</a></td></tr>
							<tr><td class="menu1-level2-no" onmouseover="this.className = 'menu1-level2-Roll'" onmouseout="this.className = 'menu1-level2-no'"><a href="#">Menu item 3 (act)</a></td></tr>
							<tr><td class="menu1-level2-act" onmouseover="this.className = 'menu1-level3-Roll'" onmouseout="this.className = 'menu1-level3-no'"><a href="#">Menu item 3 (act)</a></td></tr>
						</table>
						<br />
					</td>
				</tr>

typotempl setup

# Configuring the Auto-Parser for main template:
plugin.tx_automaketemplate_pi1 {
  # Read the template file:
  content = FILE
  content.file = fileadmin/template/main/template_1.html
  # Here we define which elements in the HTML that
  # should be wrapped in subpart-comments:
  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY
    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title
    TD.all = 1
  }
  # Prefix all relative paths with this value:
  #relPathPrefix = fileadmin/template/main/
}


page.config.index_enable = 1
config.language = de

# breadcrumb
temp.breadcrumb = HMENU
temp.breadcrumb {
  special = rootline
  # Zahl vor dem | gibt an von welchem Knoten aus gearbeitet wird
  special.range = 2|-1
  1 = TMENU
  1.target = _self
  1.wrap = <span class="breadcrumb"> | </span>
  1.NO.linkWrap = &nbsp;&gt; |
  1.NO.ATagParams = class="breadlink"
}



# Menu 1 cObject
temp.menu_1 = HMENU
# First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1 {
  expAll = 1
  # Normal state properties
  NO.allWrap = <tr><td class="menu1-level1-no"> | </td></tr>
  # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <tr><td class="menu1-level1-act"> | </td></tr>
}



# Second level menu-object, textual
temp.menu_1.2 = TMENU
temp.menu_1.2 {
  # Normal state properties
  NO.allWrap = <tr><td class="menu1-level2-no" onmouseover="this.className = 'menu1-level2-Roll'" onmouseout="this.className = 'menu1-level2-no'"> | </td></tr>
  # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = <tr><td class="menu1-level2-act"> | </td></tr>
}



# third level menu-object, textual
temp.menu_1.3 = TMENU
temp.menu_1.3 {
  # Normal state properties
  NO.allWrap = <tr><td class="menu1-level3-no" onmouseover="this.className = 'menu1-level3-Roll'" onmouseout="this.className = 'menu1-level3-no'"> | </td></tr>
  # Enable active state and set properties:
  ACT = 1
  ACT.allWrap = </tr><td class="menu1-level3-act"> | </td></tr>
}



# 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


  # Substitute the ###menu_1### subpart with some example content:
  #subparts.menu_1 = TEXT
  #subparts.menu_1.value = HELLO WORLD - MENU


# Substitute the ###menu_1### subpart with dynamic menu:
subparts.menu_1 < temp.menu_1

# Substitute the ###brot### subpart with dynamic menu:
subparts.breadcrumb < temp.breadcrumb


# Substitute the ###content### subpart with some example content:
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
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
# Copying the content from TEMPLATE for <head>-section:
page.headerData.10 < temp.headTemplate
ffr_dev ·

und so könntest du etwas mehr ins css auslagern

TD.ffr_dev_level1_30, TD.ffr_dev_level1 {
	background-color: #006600;
	color: #FFFFFF;
	font-weight: bold;
}
TD.ffr_dev_level1_30 { 
	width: 30%;
}

TABLE.ffr_dev_level2 { 
	width: 90%;
	text-align: right;
	border: 0px;
	/*cellpadding und cellspacing, aber hei, etwas musst du schon auch selbs probieren :)*/
}

TD.ffr_dev_level2 { 
	background-color: #FFFFFF;
	color: #006600;
	font-weight: bold;
}

________________________________________________________________________________________________________

<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center"> 
<!--###MENUE###  start--> 
	<tr><td class="ffr_dev_level1_30"><a href="#Startseite">Startseite</a></td></tr> 
 	<tr><td class="ffr_dev_level1"><a href="#Neuigkeiten">Neuigkeiten</a></td></tr> 
 	<tr><td class="ffr_dev_level1"><table class="ffr_dev_level2" cellpadding="6" cellspacing="0"> 
  		<!--###MENUE1_LEVEL1###  start--> 
    <tr><td class="ffr_dev_level2"><div align="left"><a href="#Verwaltung">Verwaltung</a></div></td></tr> 
    <tr><td class="ffr_dev_level2"><div align="left">&Ouml;ffentliche Bekanntmachung</div></td></tr> 
    <!--###MENUE1_LEVEL1###  stop--> 
</table> 
<!--###MENUE###  stop-->

<tr><td class="ffr_dev_level2"><div align="left"><a href="#Verwaltung">Verwaltung</a></div></td></tr>

umd dieses div würde ich auch weglassen.