Hallo zusammen,
und nochmal brauche ich eure Hilfe. :-)
Ich versuche das mal zu beschreiben.
Für tx_news habe ich ein NewsDetail-Template mit nur einem Marker erstellt, nämlich: ###hauptinhalt###.
Dieses Template wird als Erweiterungstemplate in der Artikel-Detail Seite, die ich für tx_news angelegt habe eingebunden.
Wenn ich dies nun starte, bekomme ich wie gewünscht nach Klick auf einen Artikel nur die Ausgabe der \Resources\Private\Templates\News\Detail.html
Jetzt möchte ich die \Resources\Private\Templates\News\Detail.html erweitern um Teile eines anderen Templates, welches Marker enthält, die über das setup der Root-Page angesprochen werden, z.B. die Hauptnavigation.
Wenn ich nun auf den Artikel klicke, erhalte ich die Ausgabe der \Resources\Private\Templates\News\Detail.html plus dem Template-Teilen. Allerdings werden die dort enthaltenen Marker nun nicht mehr angesprochen, sondern mit ###Marker### ausgegeben.
Mir ist schon fast klar warum, da das NewsDetail-Template ja auch page.10.template.file überschreibt und dort gibt es ja nur den Marker ###hauptinhalt###. Die anderen Marker werden ja quasi darüber mit eingepflegt.
Gibt es einen Weg diese darin wieder anzusprechen?
Warum ich das möchte ist recht einfach. Das Teaserbild der News-Artikel soll zusätzlich an den Kopf der Seite.
DANKE schon mal! :-)
Phigiro schrieb
Das Teaserbild der News-Artikel soll zusätzlich an den Kopf der Seite.
Dann mach das doch mit Javascript, mit jQuery wären das 1-2 Zeilen Code...
Guten Morgen,
ich glaube ich habe da ein wenig zu kompliziert gedacht.
Nun habe ich einen sehr viel einfacheren Weg über Typoscript gefunden.
In dem Erweiterungs-Template auf der Artikel-Detail Seite binde ich mein News-Detail-Template ein und spreche die Marker für Bild, Titel und Teaser wie unten eingefügt an.
Allerdings verstehe ich nicht wirklich was ich da tue und wäre über eine Erklärung glücklich, da ich es gern verstehen würde und es nicht schaffe den Teaser auf diesem Weg zu ziehen.
Ich habe in news/classes/domain/model/news.php und in der DB-Tabelle tx_news_domain_model_news nachgesehen, das Feld heißt teaser, nur wenn ich (im eingefügten Code-Block ganz unten) das als field = teaser belege statt field = titel passiert nichts.
Vielleicht kann mir dabei ja noch jemand helfen, hier der Code ...
[globalVar = GP:tx_news_pi1|news >0]
page.10.marks.artikelbild = RECORDS
page.10.marks.artikelbild {
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = FILES
conf.tx_news_domain_model_news {
references {
table = tx_news_domain_model_news
fieldName = fal_media
uid.field = uid
}
begin = 0
maxItems = 1
renderObj = IMG_RESOURCE
renderObj.file {
maxW = 1200
import.data = file:current:publicUrl
treatIdAsReference = 1
}
}
wrap = <img src="|" />
}
page.10.marks.artikeltitel = RECORDS
page.10.marks.artikeltitel {
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
field = title
htmlSpecialChars = 1
}
wrap = <h1>|</h1>
}
page.10.marks.artikelteaser = RECORDS
page.10.marks.artikelteaser {
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
references {
table = tx_news_domain_model_news
fieldName = teaser
}
}
wrap = <p>|</p>
}
[end]
... und DANKE schon mal.
@Flash: an jQuery hatte ich auch schon gedacht, das wäre mein Plan B gewesen, ich will aber eine Typo3 Lösung. ;-)
Dann schau dir deinen geposteten TS-Code noch mal genauer an und such nach weiteren Unterschieden,
die gibt es nämlich.
So sollte es gehen:
page.10.marks.artikelteaser = RECORDS
page.10.marks.artikelteaser {
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
field = teaser
}
wrap = |
}
Es ist immer eine gute Idee,
mit reduziertem Code zu beginnen und auf wrap, htmlSpecialChars usw. erstmal zu verzichten,
bis man sicher ist,
daß ein richtiges Ergebnis geliefert wird.
Verfeinern kann man dann später.
Hey Jenses,
danke, das hat geklappt!
Eine Frage hätte ich dazu aber noch.
Ich erzeuge doch tables = tx_news_domain_model_news
Warum heißt es dann nicht conf.tables = TEXT ... ?