Zum Inhalt springen

tt_content in extbase-Extension nutzen

Erstellt am 26. Oktober 2010 · 2 Antworten · letzte Antwort am 20. November 2010

Tags: Frage

Jehu ·

Hallo Leute,

ich möchte mit extbase und fluid in einer Extension Datensätze mit IRRE (tca type "inline" über MM-Tabelle) zusammenstellen.

Das funktioniert im Backend auch prima.
Problem ist nun die Ausgabe im Template. Ich komme im Template nur an die uid's der Inline-Datensätze ran.

<f:for each="{items}" as="item">
<tr>
	<td><f:link.action action="show" arguments="{item : item}"> {item.title}</f:link.action>
	    <f:for each="{item.content}" as="content-item">
	        <b><products:contentElementByUid uid="{content-item.uid}" /></b><br />
	    </f:for>
    </td>
	<td><f:link.action action="edit" arguments="{item : item}">Edit</f:link.action></td>
	<td><f:link.action action="delete" arguments="{item : item}">Delete</f:link.action></td>
</tr>
</f:for>

Wie kann ich denn die Content Elemente (deren uid's ich habe) rendern und dann im Template Ausgeben (cObject)?

Bin für Hinweise dankbar.

moberndoerfer ·

Hallo Jehu,

ich stand for einem ähnlichen Problem und habe es über den cObject-Viewhelper gelöst:

<f:for each="{article.contentelements}" as="articlecontent">
        <f:cObject typoscriptObjectPath="plugin.tx_myextkey.contentobject" data="{articlecontent}" />
</f:for>

Im Typoscript muss man dann noch einen Select setzen:

contentobject = COA
    contentobject {
        10 = LOAD_REGISTER
        10 {
            mypid.field = pid
        }
        20 = LOAD_REGISTER
        20 {
            myuid.field = uid
        }
        30 = CONTENT
        30 {
            table = tt_content
            select.pidInList.dataWrap = {register:mypid}
            select.where = 1=1
            select.andWhere.dataWrap = uid={register:myuid}
            select.orderBy = sorting
        }
    }

Damit kann man dann die zugeordneten Datensätze in Fluid ausgeben.

pr3fect ·

Also bei mir hats das folgende TypoScript schon getan:

plugin.tx_myubercoolextension {
	show { #custom
		render { #custom
			description = COA
			description {
				10 = RECORDS
				10 {
					source.current = 1
					tables = tt_content
					dontCheckPid = 1
					conf.tt_content < tt_content
				}
			}
		}
	}
}

Irgendwie madig, dass es hier keine default models von extbase gibt... @delete cascade kann man sich auf die weise nämlich auch schenken #paralyzed#