Zum Inhalt springen

Extension be_layout Pagemodule BE Layout

Erstellt am 22. September 2009 · 15 Antworten · letzte Antwort am 11. November 2009

Tags: Templates & Layouts, Frage

lil-trick ·

Hallo,

hat die Extension schon mal jemand eingebaut?

bin wie in der Anleitung vorgegangen, hab in meiner Root Seite diese Seiten TS-Config eingetragen

mod.web_layout.tt_content {
	
	# Easy Setup:
	colPos_list = 0,1,2
	layoutTemplate = fileadmin/template/index.html
	layoutStyleSheet = fileadmin/template/style.css
	
	# Advanced:
	colPos_list._default.start = 1,0
	layoutTemplate._default.start = fileadmin/be_layout/template_default.html
	layoutStyleSheet._default.start = fileadmin/be_layout/mystyle.css
	
	# for rlmp_tmplselector, place files prefixed with 'be_' for every template into your templ-directories, and set the right path to them here:
	mainTemplatePath = fileadmin/template/main/
	subTemplatePath = fileadmin/template/sub/
	

}

den Pfad zu:

layoutTemplate = fileadmin/template/index.html
layoutStyleSheet = fileadmin/template/style.css

angepasst - aber er sagt mir immer: Layout template 'fileadmin/template/index.html' not found !
obwahl das Template genau dort liegt ...

was kann das sein?

danke schon mal

lil-trick ·

ok mit dem absoluten Pfad kommt jetzt kein Fehler mehr - es wird aber auch keine Contentspalte mehr angezeigt - wie muss ich das ganz noch konfigurieren ?

gmf ·

Hab die Ext jetzt auch mal installiert und folgende Schritte führten zum Erfolg:

* Die entsprechende Konfig aus der Readme.txt kopiert in das PageTS der Rootseite:

mod.web_layout.tt_content {
	# Easy Setup:
	colPos_list = 0,1,2
	layoutTemplate = fileadmin/be_layout/three.html
	layoutStyleSheet = fileadmin/be_layout/mystyle.css
}

* Das Beispieltemplate 'example.html' aus dem Ordner 'res' der Extension kopiert.
* Die Pfade im TypoScript angepasst und layoutStyleSheet gelöscht, weil nicht verwendet:

mod.web_layout.tt_content {
	# Easy Setup:
	colPos_list = 0,1,2
	layoutTemplate = /var/www/dev/fileadmin/.../be_layout/three.html
}

* Cache leeren und fertig.

lil-trick ·

danke - das hab ich jetzt auch geschaft 😃 scheinbar muss ich aber irgendwelche Marker aus diesem Fertigen Templete nehmen oder?

und was passiert wenn ich mehrer Templates hab wie geb ich dann die Spalten an ? z.B mit rlmp_tmplselector dort kann ich ja nur die angaben machen wo die Templatedateien liegen

mainTemplatePath = fileadmin/template/main/
subTemplatePath = fileadmin/template/sub/

danke schon mal

gmf ·

Folgendes Szenario: Du hast den Template Selector installiert und konfiguriert.
Deine Templates liegen in fileadmin/templates und heißen main.html und sub.html.

be_layout kann hier integriert werden mit der beschriebenen Konfig im Readme.txt und sucht dabei im angegebenen Verzeichnis (z.B. fileadmin/be_layout/) nach einer Datei, die so heißt wie die ausgewählte TemplateSelector-Vorlage mit dem Prefix BE_.

D.h.:

FE-Templates:
fileadmin/templates/main/main.html
fileadmin/templates/sub/sub.html

BE-Templates
fileadmin/be_layout/main/BE_main.html
fileadmin/be_layout/sub/BE_sub.html

im TS:

mod.web_layout.tt_content {
    
    # for rlmp_tmplselector, place files prefixed with 'be_' for every template into your templ-directories, and set the right path to them here:
    mainTemplatePath = /var/www/fileadmin/be_layout/main/
    subTemplatePath = /var/www/fileadmin/be_layout/sub/
}

Die verwendbaren Marker sind die im example.html der be_layout Extension.

lil-trick ·

ok das hab ich verstanden - aber wo kann ich sagen welche Spalten bei welchem Template im Backend angezeigt werden (ich hab nämlich 5 Maintemplates)? oder mach ich das in dieser TemplateSelector-Vorlage? , diesen Schritt versteh ich nicht ganz. Im Easy Setup mach ich das ja über colPos_list = 0,1,2 und geb dann den das Template an

danke schon mal für deine Hilfe

gmf ·

Weiß ich jetzt auch nicht genau.
Du kannst ja einfach im BE_[x].html die Marker für beliebige Spalten weglassen. Somit kommen sie im BE nicht raus.

lil-trick ·

schade! In diesem Template gibts ja nur einen Marker ###COLUMNS### :-(

oder kann man das auch so schreiben ?

mod.web_layout.tt_content {
colPos_list = 0
mainTemplatePath = /var/www/fileadmin/be_layout/main/eins.html
} 

mod.web_layout.tt_content {
colPos_list = 0,1
mainTemplatePath = /var/www/fileadmin/be_layout/main/zwei.html
}
gmf ·

Statt dem Marker ###COLUMNS## solltest du wie du auch im Subpart ###VIEW_cols### sehen kannst für jede Spalte Marker verwenden können.

lil-trick ·

hab noch ein Problem gefunden:

wenn ich eine neue Seite anlege ist der tmplselector ja immer auf dieses erste Standard Template vorausgewählt.

über TS sag ich ihm das das main.html Template das Standard-Template ist

plugin.tx_rlmptmplselector_pi1 {
templatePathMain = fileadmin/templates/template_selector/
defaultTemplateFileNameMain = main.html
}

das funktioniert auch soweit. Das main.html Template müsste im Backend jetzt aber nur zwei Spalten anzeigen: "normal und rand" - wenn ich im tmplselector jetzt explizit das main.html Template auswähle funktioniert das mit den Backendspalten - lass ich den tmplselector jedoch auf Standard funktioniert das mit den Backendspalten nicht mehr - es werden dann einfach alle Backendspalten angezeigt.

meine be_layout Einstellung sieht so aus

mod.web_layout.tt_content {
mainTemplatePath = /usr/www/users/opusnw/hofmann/fileadmin/template/be_layout/main/
}

muss ich da noch ein Standard anlegen ?

gmf ·

In fileadmin/template/be_layout/main/ liegt eine BE_main.html?

Wenn ja, wärs interessant, was in der Datenbank für ein Wert gespeichert wird, wenn man beim TemplateSelector nichts auswählt in den Seiteneigenschaften, also alles auf Default lässt.

In der be_layout werden die Werte fürs Template aus dem Page-Datensatz ausgelesen. Mir scheint es so zu sein, dass bei Verwendung eines Default-Templates für den TemplateSelector kein Wert in die DB geschrieben wird.

Kannst du das mal überprüfen?

lil-trick ·

habs jetzt so hinbekommen, einfach in die TSconfig eingetragen:

mod.web_layout.tt_content {

mainTemplatePath = /usr/www/users/opusnw/hofmann/fileadmin/template/be_layout/main/
layoutTemplate = /usr/www/users/opusnw/hofmann/fileadmin/template/be_layout/main/template_default.html
}
igorshmigor ·

Übrigens, obacht: ich bin gerade über eine Kleinigkeit gestolpert. Hatte das ganze lokal zum Laufen gekriegt und dann auf einen externen Server überspielt und schon funktionierte es nicht mehr. Ich dachte, es müsse am Pfad liegen. Alles ausprobiert, aber nein: der Fehler lag ganz woanders. Der Präfix BE_ muss groß geschrieben sein! Mein xampp ignoriert Groß- und Kleinschreibung, der externe Server nicht. Dies nur als Bemerkung nebenbei, für den Fall, dass auch andere damit zu kämpfen haben.