TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

jetzt buchen

Typo3 - Content einbinden der vom Typ "Datensatz einfügen" ist


Autor Nachricht
Verfasst am: 01. 09. 2010 [12:29]
frabovmeier
Themenersteller
Dabei seit: 04.06.2010
Beiträge: 22
Hallo,

ich habe ein Problem mit Typo3 wofür ich aktuell keine Lösung googln konnte.

Ich erstelle eine Internetseite, wo sich am rechten Rand Randboxen befinden, wo z.B. Ansprechpartner, Referenzen usw. zu sehen ist.

Der Inhaltstyp der Inhaltseiten für die jeweiligen Randboxen ist neben "Text" und "Text/Bild" auch "Datensatz einfügen". Dieser wird verwendet um wiederkehrende Inhalte einzubinden, damit solch eine Randbox nur einmal bearbeitet werden muss.

Folgender Code gibt die Inhaltstypen "Text", "Text/Bild" und "Datensatz einfügen" auch richtig zurück und es werden alle Randboxen ausgegeben.

TYPOSCRIPT
# INFOBOXEN  
  subparts.INFOBOXES = CONTENT
  subparts.INFOBOXES {
    table = tt_content
    select {
      pidInList = this
      orderBy = sorting
      where = colPos=3
      languageField = sys_language_uid
    }  
  }
Das Problem ist, die Randboxen müssen noch jeweils vom Inhalt her formatiert werden, also versuch ich Folgendes (erstmal primitiv):

TYPOSCRIPT
# INFOBOXEN  
  subparts.INFOBOXES = CONTENT
  subparts.INFOBOXES {
    table = tt_content
    select {
      pidInList = this
      orderBy = sorting
      where = colPos=3
      languageField = sys_language_uid
    }  
    renderObj = COA
    renderObj {
      10 = TEXT
      10.field = header
      20 = TEXT
      20.field = bodytext    
    }
  }
Und hier kommt das Problem. Die Inhaltstypen "Text" und "Text/Bild" werden richtig angezeigt. Aber alle Inhalte vom Typ "Datensatz einfügen" werden nicht mehr berücksichtigt. Warum? Kenn jemand den Grund und die Lösung?

Danke
ProfilICQ
Verfasst am: 01. 09. 2010 [12:43]
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 888
Die Lösung kann ich dir nicht nennen, aber den Grund:
Inhaltselemente vom Typ Record haben keinen bodytext und keinen header. Diese Felder bleiben leer. Dafür steht dann im Feld CType der Wert shortcut und im Feld records steht so etwas wie tt_content_167, also nur ein Verweis auf das ursprüngliche Element. Das mit renderObj vernünftig auszugeben wird schwierig, ich versuchs erst gar nicht.

ProfilWWW
Verfasst am: 01. 09. 2010 [12:52]
frabovmeier
Themenersteller
Dabei seit: 04.06.2010
Beiträge: 22
Ja das ist mir auch gerade aufgefallen.
Aber irgendwie muss es doch ein Weg geben, an den header und bodytext des Referenzinhaltes zu kommen!???
ProfilICQ
Verfasst am: 01. 09. 2010 [13:43]
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 888
Vielleicht hilft ein Blick in das TypoScript von css_styled_content:
TYPOSCRIPT
tt_content = CASE
tt_content.key.field = CType
tt_content.shortcut = COA
tt_content.shortcut {
	20 = CASE
	20.key.field = layout
	20.0= RECORDS
	20.0 {
		source.field = records
		tables = {$content.shortcut.tables}
		# THESE are OLD plugins. Modern plugins registers themselves automatically!
		conf.tt_content = < tt_content
		conf.tt_address = < tt_address
		conf.tt_links = < tt_links
		conf.tt_guest = < tt_guest
		conf.tt_board = < tt_board
		conf.tt_calender = < tt_calender
		conf.tt_rating < tt_rating
		conf.tt_products = < tt_products
		conf.tt_news = < tt_news
		conf.tt_poll = < plugin.tt_poll
	}
	20.1= RECORDS
	20.1 {
		source.field = records
		tables = {$content.shortcut.tables}
		conf.tt_poll = < plugin.tt_poll
		conf.tt_poll.code = RESULT,SUBMITTEDVOTE
	}
 
	20.stdWrap {
		editIcons = tt_content: records
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList
 
		prefixComment = 2 | Inclusion of other records (by reference):
	}
}


so ähnlich müsstest du es wohl auch angehen. Nur statt tt_content wendest du es halt auf dein renderObj an.

Ungefähr so:
TYPOSCRIPT
renderObj=COA
renderObj.10=CASE
renderObj.10{
   key.field = CType
   shortcut = COA
   shortcut {
	10 = RECORDS
	10 {
		source.field = records
                tables = tt_content,tt_address,tt_links,tt_guest,tt_board,tt_calender,tt_products,tt_news,tt_rating,tt_poll
       [...]


[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 01.09.2010 um 13:44.]

ProfilWWW
Verfasst am: 01. 09. 2010 [15:15]
frabovmeier
Themenersteller
Dabei seit: 04.06.2010
Beiträge: 22
Danke. Aber so richtig bekomm ich das nicht zum Laufen. Bin jetzt auch nicht grad der Typo3-Profi :O) Noch eine Idee?
ProfilICQ
Verfasst am: 13. 01. 2012 [12:44]
jakber
Dabei seit: 13.01.2012
Beiträge: 3
Bei mir gings so: Einfach aus typo3_src/typo3/sysext/css_styled_content/static/(ggf. gewähltes Layout)/setup.txt den tt_content.shortcut-Abschnitt kopieren und in sein eigenes TS-Setup(-File) einfügen und dann anpassen.

Da ich keine Layout-Abhängige-Content-Auswahl brauche, sondern einfach nur andere Styles haben will sieht mein TS dazu dann ohne CASE so aus:
TYPOSCRIPT
# ****************
# CType: shortcut
# ****************
# Should be a complete copy from the old static template "content (default)"
tt_content.shortcut = COA
tt_content.shortcut {
    20 = RECORDS
    20 {
        source.field = records
        tables = {$content.shortcut.tables}
    }
 
    20.stdWrap {
        editIcons = tt_content: records
        editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList
 
        prefixComment = 2 | Inclusion of other records (by reference):
    }
}


Anschließend kann man auch dem Content-Element shortcut/Verknüpfung/Datensatz Layouts zuweisen, die nicht Default oder Layout 1 sind (größer als Layout-Index 1).
ProfilWWWYIMSkype