[TYPO3-german] tt_news: Single-Ansicht abhängig von News-Herkunft
JoH
info at cybercraft.de
Wed Mar 29 02:41:25 CEST 2006
> Klickt man also auf einer Ressortseite auf ein tt_news-Item, so
> gelangt man zur entsprechenden Detailansicht und die Rootline bleibt
> erhalten, da die Detailansicht unterhalb der Ressortseite ist.
> Dort ist das auch alles kein Problem. Aber was mache ich wenn ich auf
> der Homepage auf ein tt_news-Item klicke. Abhängig von der pid eines
> tt_news-Items müßte dann auf die entsprechende Detailansicht verlinkt
> werden.
>
> Gibt es für dieses Problem eine Lösung? Ich bin mit meiner Weisheit am
> Ende. Und jede Lösungsidee hat sich bisher als Sackgasse erwiesen.
Eine mögliche Lösung: Du machst gar keine Single-Ansicht. :-)
Zumindest nicht als separate Seite.
Genaugenommen nimmst Du am besten nicht mal ein Plugin für die Ausgabe von
LATEST, LIST und SINGLE sondern ein TypoScript Element CONTENT mit einem
HMENU für die Erzeugung der pid Liste.
Und weil ich gerade gut drauf bin ;-)
Hier ein Beispiel:
LATEST erzeugst Du mit CONTENT ungefähr so:
temp.myLatestNews = CONTENT
temp.myLatestNews {
table = tt_news
select {
pidInList.cObject = HMENU
pidInList.cObject {
wrap = 0|
1 = TMENU
1 {
expAll = 1
NO {
doNotLinkIt = 1
stdWrap.field = uid
allWrap = ,|
}
}
2 < .1
3 < .1
4 < .1
# ggf. weitere Ebenen
}
max = 10
orderBy = #Sortierfeld hierhin
}
renderObj = COA
renderObj {
10 = TEXT
10.field = #Feld aus tt_news für Überschrift
10.wrap = <h2>|</h2>
20 = IMAGE
20.field = #Feld aus tt_news für Bild
30 = TEXT
30.field = #Feld aus tt_news für Text
30.wrap = <p>|</p>
40 = TEXT
40.value = mehr
40.typolink {
parameter.field = pid
additionalParams.dataWrap =
&myNewsId={field:uid}&backUid={TSFE:id}
}
}
}
page.123 < temp.myLatestNews
Damit würde der "mehr" Link immer auf die passende Seite verweisen und
sowohl die News-Id als auch die uid der verweisenden Seite mitnehmen.
Auf der Seite selbst könntest Du mit einer Abfrage arbeiten:
# Erstmal die Single Ansicht bauen
temp.singleNews = CONTENT
temp.singleNews {
table = tt_news
select {
andWhere.data = GPvar:myNewsId
andWhere.wrap = uid=|
}
renderObj = COA
renderObj {
10 = TEXT
10.field = #Feld aus tt_news für Überschrift
10.wrap = <h2>|</h2>
20 = IMAGE
20.field = #Feld aus tt_news für Bild
30 = TEXT
30.field = #Feld aus tt_news für Text
30.wrap = <p>|</p>
40 = TEXT
40.value = zurück
40.typolink {
parameter.data = GPvar:backUid
}
}
}
#und hier einbinden
page = PAGE
page {
10 = COA
10 {
# normalen Inhalt anzeigen
if.isFalse.data = GPvar:myNewsId
10 < styles.content.get
}
20 = COA
20 {
# Single News statt Inhalt anzeigen
if.isTrue.data = GPvar:myNewsId
10 < temp.singleNews
}
}
Ungetestet und als proof of concept, sollte aber so oder so ähnlich gehen.
Joey
--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your knob sometimes!)
Dieter Nuhr, German comedian
openBC: http://www.cybercraft.de
More information about the TYPO3-german
mailing list