Hallo erstmal und vielen Dank im Voraus!
Problem:
Auf einer Website soll an mehreren Stellen im Fließtext häufig wechselnder Text (wöchentlich aktualisierte Daten) eingebunden werden. Um die nicht immer alle händisch aktualisieren zu müssen, wollte ich zentrale Datensätze über eigene Marker einbinden. Eigentlich wird das häufig im Netz beschrieben, aber in meinem Fall funktionierts leider so nicht...
Mein TS bislang:
Befüllen des Markers "###USER###" mit dem Inhalt des Datensatzes mit der UID "14" - ansonsten Ausgabe, dass keine Daten gefunden wurden:
temp.marks {
USER = TEXT
USER {
value = Keine Daten gefunden
override.cObject = RECORDS
override.cObject {
tables = tt_content
source = 14
dontCheckPid = 1
required = 1
}
}
}
ODER ALTERNATIV: eine einfachere Variante für das "Befüllen", welche aber ebenfalls keine Ausgabe erzeugt:
temp.marks.USER = RECORDS
temp.marks.USER {
tables = tt_content
source = 38
dontCheckPid = 1
}
Den per RTE eingegebenen Text nach Markern durchsuchen:
tt_content.text {
10 = < lib.stdheader
20 = TEXT
20 {
file >
cObject = TEMPLATE
cObject {
template = TEXT
template.field = bodytext
marks < temp.marks
}
}
}
Ergebnis bisher:
Das Ersetzen des Markers an sich funktioniert: "Keine Daten gefunden" wird ausgegeben. Nur das Füllen mit dem gewünschten Datensatz funktioniert nicht.
Wie bekomme ich das jetzt hin, dass der Inhalt des Datensatzes mit der ID=14 (bspw.) an die Stelle des Markers gesetzt wird? Ich suche seit Stunden nach der Lösung, aber finde immer nur den obenstehenden Code, welcher aber keine Ausgabe erzeugt.
---
Edit: Für den Fall, dass da was anderes aus dem TS reinspielen könnte: Hier nochmal mein komplettes TS...
config.no_cache = true
config.xhtml_cleaning = all
# defining the default language
page.config.sys_language_uid = 0
page.config.language = de
page.config.locale_all = de_DE@euro
page.config.htmlTag_langKey = de
plugin.tx_timtab.lang = de
page.bodyTagCObject = HTML
page.bodyTagCObject.value.field = uid
page.bodyTagCObject.value.wrap = <body id="body-|">
plugin.tt_news {
lang = de
displayList.date_stdWrap.strftime= %A, %d. %B %Y
displaySingle.date_stdWrap.strftime= %A, %d. %B %Y
templateFile = fileadmin/reisekneipe/templates/html/tmpl_tt_news_v2.tmpl
displayList.image.file.maxW = 180
displayList.image.file.maxH = 100
}
plugin.tt_news.displayList.image.imageLinkWrap = 0
tt_content.div.wrap = <div class="divider">|</div>
tt_content.menu.wrap = <div class="divider"></div>|
# "to top" -> "Seitenanfang"
tt_content.stdWrap.innerWrap2 = |<a href="#" class="seitenanfang">zum Seitenanfang</a>
plugin.tx_veguestbook_pi1._CSS_DEFAULT_STYLE >
plugin.tx_veguestbook_pi1.allowedTags = <a>,<br />,<b>,<li>,<ol>,<p>,<strong>,<u>,<ul>
### freecap ###
plugin.tx_srfreecap_pi1 {
useWordsList = 1
defaultWordsList = [pfad]
morphFactor = 0.1
}
plugin.tx_srfreecap_pi2._CSS_DEFAULT_STYLE >
plugin.tx_thmailformplus_pi1.emailParameter = -f [email]
#Default PAGE object:
page = PAGE
page {
config.doctype = xhtml_trans
config.xhtml_cleaning = all
config.doctypeSwitch = 0
}
# xml-Deklaration hinter Doctype setzen, falls MS-IE
[browser = msie]
page.config.doctypeSwitch = 1
[global]
page.shortcutIcon = [pfad].ico
page.includeCSS {
file1 = [pfad].css
}
[browser = msie]
page.includeCSS {
file2 = [pfad].css
}
[global]
page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = [pfad].htm
lib.navigation = HMENU
lib.navigation {
special = directory
special.value = 2
1 = TMENU
1.noBlur = 1
1.NO = 1
1.NO {
ATagParams.dataWrap = class="navi-{field:uid}"
stdWrap.wrap = <span class="invisible">|</span>
before.cObject = TEXT
before.cObject.htmlSpecialChars = 1
before.cObject.dataWrap = <div class="navilink navi-{field:uid}">
after.cObject = TEXT
after.cObject.htmlSpecialChars = 1
after.cObject.wrap = |</div>
}
1.ACT < .1.NO
1.ACT = 1
1.ACT {
ATagParams.dataWrap = class="navi-{field:uid}-aktiv"
}
}
lib.subnavi = HMENU
lib.subnavi {
entryLevel = 2
1 = TMENU
1 {
noBlur = 1
stdWrap.dataWrap = <h1><a href="index.php?id={leveluid:2}" title="{leveltitle:2}">{leveltitle:2}</a></h1><ul>|</ul>
NO = 1
NO {
ATagTitle.field = title
wrapItemAndSub = <li class="menu-normal">|</li>
}
CUR < .NO
CUR.wrapItemAndSub = <li class="menu-current">|</li>
}
2 < .1
3 < .1
}
lib.footermenu = HMENU
lib.footermenu {
special = directory
special.value = 15
1 = TMENU
1.noBlur = 1
1.NO = 1
1.NO.linkWrap = | | |*| | | |*| |
1.ACT = 1
1.ACT < .NO
1.ACT.linkWrap = | | |*| | | |*| |
}
lib.footerinfo=CONTENT
lib.footerinfo.table = tt_content
lib.footerinfo.select {
uidInList=37
pidInList=14
}
lib.headerinfo=CONTENT
lib.headerinfo.table = tt_content
lib.headerinfo.select {
uidInList=38
pidInList=14
}
temp.marks {
USER = TEXT
USER {
value = Keine Daten gefunden
override.cObject = RECORDS
override.cObject {
tables = tt_content
source = 14
dontCheckPid = 1
required = 1
}
}
}
/*
temp.marks.USER = RECORDS
temp.marks.USER {
tables = tt_content
source = 38
dontCheckPid = 1
}
*/
tt_content.text {
10 = < lib.stdheader
20 = TEXT
20 {
file >
cObject = TEMPLATE
cObject {
template = TEXT
template.field = bodytext
marks < temp.marks
}
}
}
page.10 {
workOnSubpart = DOCUMENT_BODY
subparts.NAVI < lib.navigation
subparts.SUBNAVI < lib.subnavi
subparts.CONTENT < styles.content.get
subparts.NEWSBOX < styles.content.getRight
subparts.FOOTERINFO < lib.footerinfo
subparts.HEADERINFO < lib.headerinfo
subparts.FOOTERMENU < lib.footermenu
}