---
title: "Datensatz per RECORDS auslesen"
url: "https://www.typo3.net/d/73571-datensatz-per-records-auslesen"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage","Inhaltselemente"]
created: "2008-02-12"
last_reply: "2008-02-12"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# Datensatz per RECORDS auslesen

TYPO3 › TypoScript · 3 Antworten · gestartet 2008-02-12

## Eröffnungsbeitrag

**Serg** · 2008-02-12 · [Beitrag #1](https://www.typo3.net/d/73571-datensatz-per-records-auslesen/1)

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:

```typoscript
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:

```typoscript
temp.marks.USER = RECORDS
temp.marks.USER {
  tables = tt_content
  source = 38
  dontCheckPid = 1
}
```

Den per RTE eingegebenen Text nach Markern durchsuchen:

```typoscript
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...

```typoscript
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
}
```

## Antworten

### [#2](https://www.typo3.net/d/73571-datensatz-per-records-auslesen/2) · Serg · 2008-02-12

Ok, Problem "umgangen". Ich habe das jetzt wie folgt gelöst:

```typoscript
tt_content.text.20.parseFunc.tags.alletermine = RECORDS
tt_content.text.20.parseFunc.tags.alletermine {
  tables = tt_content
  current = 1
  source = 156
  dontCheckPid = 1
  conf.tt_content = TEXT
  conf.tt_content.field = bodytext
}
tt_content.text.20.parseFunc.tags.naechstertermin = RECORDS
tt_content.text.20.parseFunc.tags.naechstertermin {
  tables = tt_content
  current = 1
  source = 156
  dontCheckPid = 1
  conf.tt_content = TEXT
  conf.tt_content.crop = 8
  conf.tt_content.field = bodytext
}
```

Der erste Absatz stellt dar, was im bodytext des Datensatzes mit der ID 156 steht. Der zweite auch, schneidet die Darstellung aber nach dem ersten Termin (= 8 Zeichen) ab.

Trotzdem interessiert mich, was am ursprünglichen Ansatz falsch gewesen ist - vielleicht brauche ich sowas wieder mal... Sonderlich elegant wirkt das Ganze irgendwie nicht, sondern irgendwie mehr behelfsmäßig...

Würde mich freuen, wenn noch jemand Ideen dazu hat.

### [#3](https://www.typo3.net/d/73571-datensatz-per-records-auslesen/3) · ArminB · 2008-02-12

moin,

das ist ein Ansatz der dir helfen könnte, <http://typo3.intervation.de/tutorial/allgemein/flexible-marker-im-text.html>

Armin

### [#4](https://www.typo3.net/d/73571-datensatz-per-records-auslesen/4) · Serg · 2008-02-12

Danke für die Antwort!

Ich habe meine ursprüngliche Herangehensweise von genau dieser Seite. Der Kernpunkt – das Parsen der Marker – funktioniert auch. Nur habe ich's nicht hinbekommen, den Inhalt welchen das Tutorial einbindet, durch anderen Inhalt zu ersetzen. Vielleicht mache ich irgendwas grundlegendes im Syntax falsch, was ich aber nicht als Fehler identifizieren kann …

-----
Edit:
Da sitzt man mal ein paar Stunden nicht mehr vorm Code und man sieht die tollsten Dinge: Mir fehlt eine Zeile, die u.U. wichtig sein könnte...

```typoscript
temp.marks = cObject
```

Sollte ich dazu kommen, teste ich das nochmal mit vollständigem Code. Besten Dank einstweilen!

---

Quelle: „Datensatz per RECORDS auslesen“, typo3.net, https://www.typo3.net/d/73571-datensatz-per-records-auslesen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
