was heißt idee? schon fertig 😉
gedulde nur noch etwas, kleinigkeit fehlt noch
lg georg
ps: dann wär wohl ein selbstgeschriebenes CMS besser 😃
was heißt idee? schon fertig 😉
gedulde nur noch etwas, kleinigkeit fehlt noch
lg georg
ps: dann wär wohl ein selbstgeschriebenes CMS besser 😃
just2b schriebdann wär wohl ein selbstgeschriebenes CMS besser 😃
habe ich schon 😉
Oka, okay.. *ungeduldig wart*
Is ja schlimmer, als sich an Heilig Abend ne Stunde in die Kirche zu hocken und zu hoffen, dass es endlich vorbei ist, um nach hause zu duesen, weil man heftigsten Hunger hat. lol.
Bloeder vergleich, irgendwie #angry# :p
Hallo,
Folgendes Beispiel macht:
eine Sitemap/Teaser aus ausgewählten Seiten.
Code in der TsConfig
# neue Sitemap hinzufügen
TCEFORM.tt_content.menu_type {
addItems.102 = rgTeaser II
}
Code im Setup
# php-Datei für die userfunction einbinden
includeLibs.user_getpages = fileadmin/dev/scripts/user_getpages.inc
# neue Sitemap erstellen
tt_content.menu.20.102 = CONTENT
tt_content.menu.20.102 {
# 1. Abfrage basierend auf den Seiten
table = pages
select {
# pidinlist > userfunction um eine Rekursion zu erhalten auf die gewählten Ausgangspunkte in Sitemap
pidInList.cObject = USER
pidInList.cObject {
userFunc = user_getpages->main
treeDepth = 3
}
orderBy = tstamp DESC
#where = tx_rgteaser_teaser = 1
}
# Darstellung der SEITEN
renderObj = COA_INT
renderObj {
# an Stelle 10 der Seiten-titel
10 = TEXT
10.field = title
10.wrap = <div style="border:1px solid #ccc; padding:10px;margin:5px;"><h3>|
# Stelle 12 das Alter der Seite
12 = TEXT
12.field = tstamp
12.age = 1
12.required = 1
12.wrap = <span style="font-size:10px;padding-left:10px;">(|)</span></h3>
# Wir merken uns die Seiten-ID für später
20 = LOAD_REGISTER
20 {
meinRegister.cObject = TEXT
meinRegister.cObject.field= uid
}
# an Stelle 50 wird der Seiteninhalt erzeugt
50 = COA
50 {
###########
20 = CONTENT
20 {
# Abfrage an Tabelle tt_content = Seiteninhalt
table = tt_content
select {
# wir holen uns die die Seitenid von vorher
pidInList.data = register:meinRegister
#max = 1
}
# Wie soll der Seiteninhalt gerendert werden
renderObj = COA
renderObj {
# Stelle 1 mal ein div aufmachen
1 = TEXT
1.value = <div style ="padding:5px; margin:5px;">
# Stelle 10 der Titel des Contentelements
10 = TEXT
10.field = header
10.wrap = <strong>|</strong>
10.required = 1
# Stelle 20 der Text, beschränkt auf 350 Zeichen
20 = TEXT
20 {
field = bodytext
crop = 350 | ... | 1
wrap= <br />|
parseFunc < tt_content.text.20.parseFunc
stripHtml = 1
}
/*
30 = TEXT
30 {
value = [mehr]
typolink.parameter.field=pid
typolink.parameter.dataWrap=|#{field:uid}
wrap = |
}
*/
# Div wieder zu
99 = TEXT
99.value = </div>
}
}
###########
}
# Stelle 60 (nach den contentelementen) ein Link zur Seite
60 = TEXT
60 {
value = [mehr]
typolink.parameter.field=uid
wrap = |
}
99 = TEXT
99.wrap = |</div>
}
}
benötigte Userfunction
speichern in zB fileadmin/dev/scripts/user_getpages.inc
<?php
class user_getpages {
function main($content,$conf) {
global $TSFE;
$pid_list_arr = explode(",",$this->cObj->data['pages']);
$pid_list="";
while(list(,$val)=each($pid_list_arr)) {
$pid_list.=$val.",".$this->cObj->getTreeList($val,$conf["treeDepth"]);
}
$pid_list = ereg_replace(",$","",$pid_list);
return $pid_list;
}
}
?>
lg georg
PS: nicht alles was hinkt ist ein Vergleich, mehr will ich da dazu nicht sagen!
Aaaaaaaaah, sehr, sehr schoen 🙂
Vielen, vielen Dank. 😉
bitte gerne 😉
lg georg
Habe schnell eine Extension darausgemacht, ist schon im TER > ext key rgteaser
lg georg
Super, dann muss ich das ja nicht machen :p
Danke.
HAllo
Die Extension ist super, vielen Dank dafür.
Ich hätte noch eine kleine Bitte:
Momentan scheint die Extension keine Mehrsprachigkeit zu unterscheiden. Es werden jeweils beie Sprachen gleichzeitig dargestellt, oder seh ich das falsch? Kann man das noch korrigieren? Wär super.
vermutlich musst du einfach nur die Selektion erweitern
georg
Du meinst hier?
#
# 1. Abfrage basierend auf den Seiten
table = pages
select {
Leider übersteigt das meine Typo3 Kentnisse, hast du grad ne Idee wie das ungefähr ginge?
Sollte ungefähr so gehen:
select {
languageField = sys_language_uid
}
georg
ah ok, ich versuch mal ein bisschen, danke!
Update: Hat supergeklappt, hier als Hilfe für andere:
###########
20 = CONTENT
20 {
table = tt_content
select {
pidInList.data = register:meinRegister
#max = 1
languageField = sys_language_uid
}
DIe zeile languageField = sys_language_uid muss man 3x kopieren, immer unter CONTENT.
die rekursion funktioniert nicht..
just2b schriebHabe schnell eine Extension darausgemacht, ist schon im TER > ext key rgteaser
lg georg
Hallo Georg,
da die Erweiterung schon etwas älter ist, frage ich mal ganz vorsichtig nach. Besteht die Möglichkeit die Extension rgteaser noch um ein Feature zu erweitern? Natürlich nicht umsonst, sondern entgeldlich :o
Ich würde gerne für einen Kunden folgende Lösung haben:
1. Das Teasermenu "Content Only" so erweitern das nur Datensätze nach einen festgelegten Datum angezeigt werden. Also Seiten die, die letzten 10 Tage aktualisiert worden sind. Ähnlich der Menufunktion "special=updated".
2. Das Seiten nicht manuell auf "Teaser aktivieren" gesetzt werden müssen.
LG, Michael
retronet schriebjust2b schriebHabe schnell eine Extension darausgemacht, ist schon im TER > ext key rgteaser
lg georg
Hallo Georg,
da die Erweiterung schon etwas älter ist, frage ich mal ganz vorsichtig nach. Besteht die Möglichkeit die Extension rgteaser noch um ein Feature zu erweitern? Natürlich nicht umsonst, sondern entgeldlich :oIch würde gerne für einen Kunden folgende Lösung haben:
1. Das Teasermenu "Content Only" so erweitern das nur Datensätze nach einen festgelegten Datum angezeigt werden. Also Seiten die, die letzten 10 Tage aktualisiert worden sind. Ähnlich der Menufunktion "special=updated".2. Das Seiten nicht manuell auf "Teaser aktivieren" gesetzt werden müssen.
LG, Michael
Hi,
habe soeben bemerkt das ja die relative lang existierenden Extension TopContent genau das schafft was ich benötige. Ich kann sogar unerwünschte Seiten wie Impressum, Kontakt etc vom Teasing ausschliesen. Das ich da nicht drauf gekommen bin, aber das war damals (vor Jahren) meine erste Extension gewesen dich ich ausprobiert habe und komm nicht drauf.
Sowas.. #angry#
Grüsse, Michael