Zum Inhalt springen

Fluid und Backend Layouts springt immer auf default.html

Erstellt am 24. Januar 2013 · 6 Antworten · letzte Antwort am 24. Januar 2013

Tags: Fluid, Frage

mchenzi ·

Hallo
Ich bin am verzweifeln. Ich versuch gerade den Umzug und Umschwung zu Backend Layouts.

Ich habe

# Create and configure our site
page = PAGE
page.typeNum = 0
page.meta.DESCRIPTION = My Site
page.meta.KEYWORDS = Internet, Homepage, Typo3

# Create a Fluid Template
page.10 = FLUIDTEMPLATE
page.10 {
  # Set the Template Pathes
  partialRootPath = fileadmin/templates/partials/
  layoutRootPath = fileadmin/templates/layouts/
  variables {
    # Assign the main column with our {content}-destination
    content < styles.content.get
    # Assign the left column with our {content_left}-destination
    content_left < styles.content.get
    content_left.select.where = colPos = 1
    # Assign the right column with our {content_right}-destination
    content_right < styles.content.get
    content_right.select.where = colPos = 2
  }
}

# Assign the Template files with the Fluid Backend-Template
page.10.file.stdWrap.cObject = CASE
page.10.file.stdWrap.cObject {
  key.data = levelfield:-1, backend_layout_next_level, slide
  key.override.field = backend_layout
  # Set the default Template
  default = TEXT
  default.value = fileadmin/templates/twocols.html
  # COMMENT: diese Datei gibt es auf jeden Fall - gestestet
  # Set also the first [1] Template, our 3 column Template
  1 = TEXT
  1.value = fileadmin/templates/twocols.html
  # COMMENT: diese 1 hab ich eingefügt da ich dachte sie fehlt. Kann ich auch löschen. Macht keinen unterschied
  # Set also the first [2] Template, our 3 column Template
  2 = TEXT
  2.value = fileadmin/templates/threeColumn.html
  # Set a second [3] Template, our full size Template
  3 = TEXT
  3.value = fileadmin/templates/fullSize.html
}

############ NAVIGATION #######################
lib.mainNavi = HMENU
lib.mainNavi.entryLevel=0
lib.mainNavi.1 = TMENU
lib.mainNavi.1 {
  wrap = <ul id="mainNavi">|</ul>
  expAll = 0
  NO.allWrap = <li class="mainNaviItem">|</li>
  RO < .NO
  RO = 1
  CUR < .NO
  CUR = 1
  CUR.allWrap = <li class="mainNaviItemActive">|</li>
  ACT < .CUR
}

############

Es existieren mehrere Backend Layouts zB
Standard (default) mit der ID = 1
# diesen Namen hab ich geählt.. kann auch rumpelstielchen heißen
Dann gibt es noch
2 - Columns main & right mit der ID = 2

Hier das Problem
Wenn ich jetzt in den Seiteneigenschaften (page properties) in Appearance das Backend Layout "Standard (default)" auswähle dann bekomme ich einen "Oops, an error occured" Fehler. Im log will er eine "fileadmin/templates/layouts/default.html" als template file. Wenn ich das anlege und befülle dann ist er glücklich. Wenn ich das "2 -Columns main & right" Backend Layout in den Seiteneigenschaften auswähle spricht er die dementsprechende Datei "fileadmin/templates/threeColumn.html" an. Warum zum Teufel will er diese default Datei aus dem Pfad "fileadmin/templates/layouts/" wenn ich doch eindeutig im obigen typoscript default definiert habe.????????

kainobi ·

Warum zum Teufel will er diese default Datei aus dem Pfad "fileadmin/templates/layouts/" wenn ich doch eindeutig im obigen typoscript default definiert habe.????????

Mir ist nicht klar, wo Du in Deinem TS ein "default"-Layout definiert haben willst. Das Layout wird durch den <f:layout>-Tag in Deinem Template geladen und dort steht dann schätze ich mal "default" drin...

EDIT: vergiss meinen ersten Satz - schau einfach in Deinem default.html Template nach dem besagten Layout-Tag...

mchenzi ·

ok. Wow. ich denke ich kapiere es. Brauch ich den Abschnitt

<f:layout name="default" />

in meiner Datei? Ist das sozusagen für den Inhaltsbereich? (Wenn man aber mit Backend Layouts arbeitet hat man dann doch nochmal eine andere Auswahl und braucht das doch gar nicht mehr oder?)

(dann sucht er nach einer Datei default.html oder default in dem Pfad den man im template unter layoutRootPath = fileadmin/templates/layouts/ angegeben hat. Das hab ich weder vorher irgendwo gelesen noch hab ich das selbst rausbekommen.. Danke.)

kainobi ·

Ob Du den Layout-Tag verwendest oder nicht, ist an dieser Stelle Dir überlassen. Ich selbst mache es so, dass ich im Template nur den Content-Bereich drin habe, und im Layout habe ich alles "Drumherum" der Seite drin. Hauptsächlich weils mir logischer erscheint ;-)

kainobi ·

Ja. Das Backend-Layout bestimmt nur die Anordnung der Content-Slots im Backend. Deshalb musst Du per TS die Verbindung zum Fluid-Template herstellen (über die ID das Backend-Layouts).

mchenzi ·

jetzt hab ich noch ein problem..

<div id="content_main">
    <p class="bodytext">&nbsp;</p>
<p class="bodytext">	<!--  CONTENT ELEMENT, uid:2/text [begin] --></p>
<p class="bodytext">&nbsp;</p><div id="c2" class="csc-default"><p class="bodytext">&nbsp;</p>
<p class="bodytext">		<!--  Text: [begin] --></p>
<p class="bodytext">tetsing main content </p>
<p class="bodytext">		<!--  Text: [end] --></p>
<p class="bodytext">&nbsp;</p></div><p class="bodytext">	<!--  CONTENT ELEMENT, uid:2/text [end] --></p>
<p class="bodytext">&nbsp;</p>
<p class="bodytext">	<!--  CONTENT ELEMENT, uid:3/text [begin] --></p>
<p class="bodytext">&nbsp;</p><div id="c3" class="csc-default"><p class="bodytext">&nbsp;</p>
<p class="bodytext">		<!--  Text: [begin] --></p>
<p class="bodytext">testing side content</p>
<p class="bodytext">		<!--  Text: [end] --></p>
<p class="bodytext">&nbsp;</p></div><p class="bodytext">	<!--  CONTENT ELEMENT, uid:3/text [end] --></p>
<p class="bodytext">&nbsp;</p>
  </div>

p class bodytext wird um jeden mist gewrappt. Warum denn das jetzt? Ich hab da nichtmal (& nbsp) im template.