Zum Inhalt springen

nur der contentbereich soll anders aussehen

Erstellt am 12. September 2005 · 2 Antworten · letzte Antwort am 13. September 2005

Tags: HTML & CSS, Frage

sirina ·

Hallo Forum,

ich weiß, dass diese Frage schon mehrmals gestellt wurde, und ich hab die Vorschläge auch alle brav ausprobiert - nur leider hats bei mir nicht geholfen.

Folgendes Problem:
Ich hab ein dreispaltiges Layout (Linke Spalte mit Menü, Contentbereich, Rechte Spalte mit Infos)

Mein Baumstruktur in Typo3 sieht so aus

- Startseite
----Navigationspunkt1
--------Navigationspunkt1_1
--------Navigationspunkt1_2
--------Navigationspunkt1_3
----Navigationspunkt2
--------Navigationspunkt2_1
--------Navigationspunkt2_2
--------Navigationspunkt2_3
----Navigationspunkt3

Die Seite hat im Grunde immer den gleichen Aufbau. Daher steht im Setup meiner Startseite folgender Code:

plugin.tx_automaketemplate_pi1 {
  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
	   UL.all = 1
	   LI.all = 1
           P.all = 1
   }
   relPathPrefix = fileadmin/template/main/
}

temp.menu_1 = HMENU
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO.allWrap = <li id="level1nonactive"> | </li>
ACT = 1
ACT.allWrap = <li id="level1active"> | </li>
}
temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO.allWrap = <li id="level2nonactive"> | </li>
ACT = 1
ACT.allWrap = <li id="level2active"> | </li>
}

temp.mainTemplate = TEMPLATE
temp.mainTemplate {
   template =< plugin.tx_automaketemplate_pi1
   workOnSubpart = DOCUMENT_BODY
   subparts.menu_1 < temp.menu_1
   subparts.content < styles.content.get
}

temp.headTemplate = TEMPLATE
temp.headTemplate {
	template =< plugin.tx_automaketemplate_pi1
	workOnSubpart = DOCUMENT_HEADER
}

# Default PAGE object:
page = PAGE
page.typeNum = 0

page.stylesheet = fileadmin/template/main/res/stylesheet.css

page.10 < temp.mainTemplate
page.headerData.10  < temp.headTemplate

page.config.admPanel = 1

In dem Stylesheet hat eine Klasse die Breite von 30px. Die brauch ich so in dem Layout der Seite.

Ich möchte nun im Navigationspunkt1_1 zwar den gleichen Aufbau der Seite haben, jedoch soll die Breite nicht mehr 30px sein, sondern 230px.
Daher wollte ich ein anderes Stylesheet einbinden (stylesheet2.css).

Ich habe gelesen, dass man nur die Änderungen in das entsprechende Setupfeld (hier das Setup von Navigationspunkt1_1) eintragen muss, und dass die Änderungen dann übernommen werden.
Bei mir funktioniert das dann aber nicht!
Ich bekomm schlichtweg einfach nur eine weiße Seite!
Hier der Code:

# Default PAGE object:
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/template/main/res/stylesheet2.css

Im Quellcode kann nich noch erkennen, dass das richtige Stylesheet eingebunden wird, jedoch steht im Body-Tag nichts mehr:

<body bgcolor="#FFFFFF">

</body>

Ich bin ein absoluter Newbee und arbeite erst seit ca. 1 Woche damit. Ich war ja schon froh, als ich die Startseite eingelesen hab und dass die Navigation auf der linken Seite dynamisch aus dem Baum erstellt wird. Und dass der Content auf im Contentbereich ebenfalls dynamisch ist.
Aber sobald es an die Unterseite geht ists bei mir vorbei!
Ich denke mal, dass es nicht nötig ist, ein neues Template einzubinden, da es ja nur einen Unterschied in der CSS-Klasse gibt. Oder liege ich da falsch?

Hat jemand einen Tip für mich? Ich wäre Euch wirklich wirklich sehr dankbar dafür!

Liebe Grüße und vielen Dank im Voraus!!!

sirina

mischa ·

Hallöle,

erst mal ist da schon ein Fehler im Menü. (nur so nebenbei)

temp.menu_1 = HMENU
temp.menu_1.stdWrap = <ul class="">|</ul>
temp.menu_1.1 = TMENU
temp.menu_1.1 {
NO.wrapItemAndSub = <li id="level1nonactive"> | </li>
ACT = 1
ACT.wrapItemAndSub = <li id="level1active"> | </li>
}
temp.menu_1.2 = TMENU
temp.menu_1.2 {
NO.allWrap = <li id="level2nonactive"> | </li>
ACT = 1
ACT.allWrap = <li id="level2active"> | </li>
}

Sonst hast du nur <li> ohne die dazugehörigen <ul>

So, jetzt zu deiner Frage an sich:

Ich kann mir das gerade nicht so vorstellen, was du willst. Hast du mal ein online-Beispiel?
Aber grundsätzlich: die Unterseiten sollen anders aussehen als die Hauptseite, oder?

fuss ·

Olla!

Wenn Du mit zwei stylesheets arbeiten möchtest, dann pack einfach bei deinem momentanen Root-Template folgendes rein

page.includeCSS {
  file1 = fileadmin/styles.css
  file2 = fileadmin/nav1.css
  }

auf der Seite, wo die Navi anders sein soll, machst Du einfach ein Extension Template, und gibst im Setup einfach nur folgendes ein: (da der restliche Krempel ja vom Root-Template weitervererbt wird)

page.includeCSS {
  file2 = fileadmin/gesundistbunt/nav2.css
  }

gruss, fuss