Zum Inhalt springen

Frage zu "Relations" / "Verknuepfungen"

Erstellt am 20. September 2005 · 3 Antworten · letzte Antwort am 23. September 2005

Tags: TCA, Frage

manger ·

Ich habe drei Tabellen:
- tab_product
- tab_action
- tab_action_mm (Verknuepfungstabelle)

Die Tabelle "tab_action_mm" besitzt die Felder:
- uid_local
- uid_foreign
- action_price

Zu jedem Produkt ist ein Preis hinterlegt. Nun kann man Aktionen anlegen, die fuer bestimmte Produkte gelten, wobei sich dann der Preis fuer das betreffende Produkt aendert.
Wie die Verknuepfung grundsaetzlich funktioniert (TCA), weiss ich. Die Frage ist folgende:

Wie kann man im Backend das Eingabeformular so konfigurieren, dass zu einer Aktion bei der Produktauswahl der entsprechende Aktions-Preis eingegeb werden kann?

marksta ·

Hallo manager

Wenn ich Dich richtig verstehe, möchtest Du in der "mm"-Tabelle zusätzliche Infos abspeichern (nähmlich den Preis). Leider mag typo3 keine zusätzlichen Feldern in den Tables:

Aus der typo3-core-api:

Notice: Using MM relations you can ONLY store real relations for foreign tables in the list - no additional string values or non-record values.

Wenn ich das richtig verstehe, müsstest Du "von Hand" (=> z.B. via Kickstarter, aufpassen das Dein Code nicht überschrieben wird!) eine Relationentabelle anlegen, mit den zwei Relationsfeldern "product_uid" und "action_uid" sowie einem zusätzlichen Feld für den Preis.

Aber hoffentlich täusche ich mich 🙂

Gruss
Markus

manger ·

Wenn ich das richtig verstehe, müsstest Du "von Hand" (=> z.B. via Kickstarter, aufpassen das Dein Code nicht überschrieben wird!) eine Relationentabelle anlegen, mit den zwei Relationsfeldern "product_uid" und "action_uid" sowie einem zusätzlichen Feld für den Preis.

Das habe ich früher gemacht:

product_uid -> uid_foreign
action_uid -> uid_local

'products' => Array (
	'exclude' => 1,
	'label' => 'LLL:EXT:tt_ipcshop/locallang_tca.php:tt_ipcshop.products',
	'config' => Array (
		'type' => 'select',
		"items" => Array (
			Array("",0),
		),
		'foreign_table' => 'tx_ipcshop_product',
		'foreign_table_where' => 'AND tx_ipcshop_product.pid=###STORAGE_PID### AND tx_ipcshop_product.hidden=0 ORDER BY tx_ipcshop_product.title',						
		"size" => 6,
		'minitems' => 0,
		'maxitems' => 5,
		"MM" => "tt_ipcshop_action_mm",				
	)
),

Und was ist mit zusätzlichen Feld für den Preis?[/quote]

marksta ·

Dieses zusätzliche Feld kannst Du meiner Meinung nach nicht direkt "anlegen". Mein Lösungsvorschlag:

Mach eine neue Tabelle mit je einer Datenbankbeziehung zu Aktion und einer zu einem Produkt, dann zusätzlich noch ein Feld "Preis".

Gruss
Markus

PS: Ich bin nicht so der Forum-Experte, aber Tripple-Posts (forum,de-newslist,en-newslist) sind in der Regel nicht sehr beliebt....