Zum Inhalt springen

Backend Layout und Marker Problem

Erstellt am 24. August 2011 · 20 Antworten · letzte Antwort am 30. August 2011 · Seite 1 von 2

Tags: Frage

jensyboy ·

Hallo

ich habe ein Problem mit der Verwendung von Backend Layouts und der Ausgabe von Markern auf der Seite.

Also das ist mein BL:

backend_layout {
    colCount = 2
    rowCount = 3
    rows {
        1 {
            columns {
                1 {
                    name = Header
                    colspan = 2
                    colPos = 10
                }
            }
        }
        2 {
            columns {
                1 {
                    name = Callout left
                    colPos = 21
                }
                2 {
                    name = Callout right
                    colPos = 22
                }
            }
        }
        3 {
            columns {
                1 {
                    name = Seotext
                    colspan = 2
                    colPos = 31
                }
            }
        }
    }
}

Mein TS Code ist der hier:

##id storagepage of gridlayout
TCEFORM.pages.backend_layout.PAGE_TSCONFIG_ID=10
TCEFORM.pages.backend_layout_next_level.PAGE_TSCONFIG_ID=10

seite = PAGE
seite {
  typeNum = 0
  stylesheet = fileadmin/templates/css/style.css
  
  10 = TEMPLATE

  10.template = FILE
  10.template.file = fileadmin/templates/start.html
  10.workOnSubpart = DOKUMENT

  
  10.marks {
    
    CALLOUT_LEFT = TEXT
    CALLOUT_LEFT.value = Callout left  
  
    CALLOUT_RIGHT = TEXT
    CALLOUT_RIGHT.value = Callout right
    
    CNAV = HMENU
    CNAV {
      special = directory
      special.value = 2
      1 = TMENU
      1.NO = 1
      1.NO.linkWrap = <li>|</li>
    }
    
    SEOTEXT = COA
    SEOTEXT {
      if {
           value = 3
           isInList.data = levelfield:-2,backend_layout_next_level,slide
           isInList.override.data = TSFE:page|backend_layout
       } 
      < styles.content.get
      select.where = colPos = 31
     // 31 ist im Backendlayout gesetzt worden
   
    }
    
        
  }


}

Der Marker SEOTEXT wird geparst, ist also nicht sichtbar auf der Seite, aber es gibt auch keine Ausgabe vom SEOTEXT, Inhalt ist aber eingefügt.

Die Version die ich verwende ist 4.5.4 und das BL liegt im Sys Ordner (id 10).

Wäre super wenn mir wer helfen könnte.

Danke sehr!

king.​darki ·

Hallo Jensyboy,

jensyboy schrieb

Mein TS Code ist der hier:

...    
    SEOTEXT = COA
    SEOTEXT {
      if {
           value = 3
           isInList.data = levelfield:-2,backend_layout_next_level,slide
           isInList.override.data = TSFE:page|backend_layout
       } 
      < styles.content.get
      select.where = colPos = 31
     // 31 ist im Backendlayout gesetzt worden
...

Der Marker SEOTEXT wird geparst, ist also nicht sichtbar auf der Seite, aber es gibt auch keine Ausgabe vom SEOTEXT, Inhalt ist aber eingefügt.

Das Problem liegt an deinem COA... Das ist KEIN COA 😉

Probier mal sowas (ungetestet):

...    
    SEOTEXT < styles.content.get
    SEOTEXT {
      select.where = colPos=31
      if {
           value = 3
           isInList.data = levelfield:-2,backend_layout_next_level,slide
           isInList.override.data = TSFE:page|backend_layout
       } 
    }
...

Grüße Patrick

jensyboy ·

Hallo Patrick

vielen Dank für deine Antwort.
Ich hab es so eben getestet, leider wird der Marker nicht mehr geparst und es wird nur ###SEOTEXT### angezeigt.

Noch ein Idee?

Danke dir.

king.​darki ·

Hallo Jensyboy,

jensyboy schrieb

Ich hab es so eben getestet, leider wird der Marker nicht mehr geparst und es wird nur ###SEOTEXT### angezeigt.

Was passiert denn, wenn du mal das if-Konstrukt auskommentierst?
Oder hast du mein TS falsch in dein bestehendes integriert?

Grüße Patrick

jensyboy ·

Ich hoffe nicht... das hier ist mein TS:

##id storagepage of gridlayout
TCEFORM.pages.backend_layout.PAGE_TSCONFIG_ID=10
TCEFORM.pages.backend_layout_next_level.PAGE_TSCONFIG_ID=10

seite = PAGE
seite {
  typeNum = 0
  stylesheet = fileadmin/templates/css/style.css
  
  10 = TEMPLATE

  10.template = FILE
  10.template.file = fileadmin/templates/start.html
  10.workOnSubpart = DOKUMENT

  
  10.marks {
    
    CALLOUT_LEFT = TEXT
    CALLOUT_LEFT.value = Callout left  
  
    CALLOUT_RIGHT = TEXT
    CALLOUT_RIGHT.value = Callout right
    
    CNAV = HMENU
    CNAV {
      special = directory
      special.value = 2
      1 = TMENU
      1.NO = 1
      1.NO.linkWrap = <li>|</li>
    }
    
    SEOTEXT < styles.content.get
    SEOTEXT {
      select.where = colPos=31
      if {
           value = 3
           isInList.data = levelfield:-2,backend_layout_next_level,slide
           isInList.override.data = TSFE:page|backend_layout
       }
    }
    
    
        
  }


}

Funktioniert nicht mit oder ohne der IF Schleife.

Danke dir und Gruß

king.​darki ·

Und SEOTEXT ist im Template auch wirklich ein Marker, kein Subpart?

Ersetze mal im TS den alten SEOTEXT-Abschnitt durch diesen hier:

...
SEOTEXT = TEXT
SEOTEXT.value = testtesttest
...

Wird nun der Marker ersetzt?

Und aufs Caching hast du auch geachtet oder? config.no_cache = 1 oder manuell Cache gelöscht?

Grüße Patrick

jensyboy ·

Hi Patrick

SEOTEXT = TEXT
SEOTEXT.value = testtesttest

Wird erfolgreich geparst und ausgegeben.

Im Template steht ###SEOTEXT### und das working on subparts habe ich ja oben im TS angegeben.

etux ·

Wenn es denn ein COA sein sollte:

SEOTEXT = COA
SEOTEXT {
  if {
    value = 3
    isInList.data = levelfield:-2,backend_layout_next_level,slide
    isInList.override.data = TSFE:page|backend_layout
	} 
	10 < styles.content.get
	10.select.where = colPos = 31
	// 31 ist im Backendlayout gesetzt worden
}
jensyboy ·

Hallo Email

danke für dein Feedback, der ###SEOTEXT### Marker wird geparst aber es wird nichs ausgegeben.

Sollte es was anderes sein als ein COA?
So hatte ich das gelesen und angewendet.

Danke

jensyboy ·

Hallo Emil

danke für dein Feedback, der ###SEOTEXT### Marker wird geparst aber es wird nichs ausgegeben.

Sollte es was anderes sein als ein COA?
So hatte ich das gelesen und angewendet.

Danke

etux ·

Damit wollte ich nur sagen, dass Du einen „Schreibfehler“ hast.

Falsch
SEOTEXT = COA
SEOTEXT {
if ....
< styles.content.get
}

Richtig
SEOTEXT = COA
SEOTEXT {
if ....
10 < styles.content.get
}

jensyboy ·

Hallo Emil,

nun habe ich es so abgeändert:

    SEOTEXT = COA
    SEOTEXT {
      if {
           value = 3
           isInList.data = levelfield:-2,backend_layout_next_level,slide
           isInList.override.data = TSFE:page|backend_layout
       }
      10 < styles.content.get
      10.select.where = colPos = 31
     // 31 ist im Backendlayout gesetzt worden
     }

Leider keine Ausgabe, aber der Marker wird geparst.
Mach ich denn generell was falsch oder wo könnte es dran liegen?

das if und value = 3 ist mir gerade auch nicht klar muss ich sagen. Hatte das gelesen und eingebaut, könnt ihr mir kurz sagen was der Hintergrund davon ist?

Vielen Dank!

etux ·

Dein if-Konstrukt verstehe ich auch nicht. Aber selbst wenn es richtig wäre, hätte keine Ausgabe von styles.content.get stattgefunden. Weil Du mit
< styles.content.get
quasi Folgendes hast:
SEOTEXT = COA
SEOTEXT < styles.content.get
Richtig wäre es aber:
SEOTEXT = COA
SEOTEXT.10 < styles.content.get

jensyboy ·

Hallo Email

geändert und wieder das selbe Spiel... geparst aber nichts zu sehen.
Würde es dir was aus machen einmal den gesamten TS Code für das SEOTEXT zu posten welches du für richtig empfindest?
Vielleicht kommt es dann zu einer Ausgabe und mir würde sich der Sinn erschließen.

Danke dir!

jensyboy ·

Genau dieses Tutorial habe ich ca. 2-3 Mal durchprobiert und keine Ausgabe.
Nutzt du denn Backend Layouts oder eher Templa Voila?

etux ·
jensyboy schrieb

Genau dieses Tutorial habe ich ca. 2-3 Mal durchprobiert und keine Ausgabe.

Auch mit „stdWrap“?

jensyboy schrieb

Nutzt du denn Backend Layouts oder eher Templa Voila?

Weder noch.

king.​darki ·
jensyboy schrieb

Genau dieses Tutorial habe ich ca. 2-3 Mal durchprobiert und keine Ausgabe.
Nutzt du denn Backend Layouts oder eher Templa Voila?

Also ich benutze die Backend-Layouts regelmäßig, und da reicht dieses TS:

...
  CONTENT_COLUMN4 < styles.content.get
  CONTENT_COLUMN4.select.where = colPos=4
...

Dadurch bekomme ich die Spalte 4 in mein Template rein.
Ich benutze allerdings Subparts und den rlmpttemplateselector, daher kann ich dein TS nicht 100% nachvollziehen.

Grüße Patrick