Zum Inhalt springen

TCA -> Nesting Rekursion verhindern

Erstellt am 28. Januar 2013 · 1 Antwort · letzte Antwort am 30. Januar 2013

Tags: Frage

MajPay ·

Hi,

Ich habe ein Datenobjekt, das eine Referenz auf ein Objekt selben Typs haben kann (aber nicht muss). Für das TCA habe ich das mit einem group-field realisiert, soweit recht simpel. Nun kann ich ein Objekt A als Parent einem anderen Objekt A zuweisen.

Jedoch ist es auch möglich Objekt X (also ein ganz konkretes) sich selbst als Parent zuzuweisen.

Kann ich das über das TCA verhindern?
Finde diesbezüglich leider nichts.

Das TCA für dieses Feld sieht so aus:

array(
		'parent_location_uid' => array(
			'exclude' => 0,
			'label' => '..',
			'config' => array(
				'type' => 'group',
				'internal_type' => 'db',
				'allowed' => 'tx_regional_object_domain_model_location',
				'show_thumbs' => true,
				'maxitems' => 1,
				'minitems' => 0,
				'size' => 1,
				'wizards' => array(
					'suggest' => array(
						'type' => 'suggest'
					)
				)
			)
		)
)

Es gibt hier maximal 3 Ebenen, die Datensätze sind mit static_info_tables in relation zu setzen. In der Praxis wird es höchstwahrscheinlich nur eine Verschachtelung geben. Ich wollte mir die Flexibilität für eine weitere Ebene aber erhalten.

MajPay ·

Beim Rendermode tree und beim type select geht es.

Bei select:

'foreign_table_where' => 'AND ###THIS_UID### != tablename.uid'

Beim Tree sieht die config so aus:

array(
	'type' => 'select',
	'foreign_table' => 'tablename',
	'foreign_fiel' => 'uid',
	'renderMode' => 'tree',
	'treeConfig' => array(
		'parentField' => 'parent_field_in_db'
	)
)