Zum Inhalt springen

In userFunc ID des akt. Objektes auslesen

Erstellt am 7. August 2006 · 5 Antworten · letzte Antwort am 8. August 2006

Tags: TCA, Frage

L1NU5 ·

Hey!

Bin gerade dabei eine Extension zu schreiben.
Bei meiner Extension habe ich ein Feld vom Typ user mit einer userFunc.
In der userFunc muss ich die ID des aktuellen Objektes auslesen...
Ist ja eigentlich nicht gerade ungewöhnlich.
Leider habe ich aber keine Ahnung wie ich das anstellen soll.

Bin jetzt schon stundenlang am CoreAPI lesen, komme aber irgendwie kein Stück weiter... o.O

Ich wär sehr dankbar, wenn mir Jemand einen Tip geben könnte, wie ich das umsetzen kann.

Gruß Linus

steffenk ·

Der Kickstarter erzeugt Dir doch zu jeder Funktion ein Beispiel.

Der Wert des Objektes, das die userfunc aufruft: $this->cObj->getCurrentVal()

L1NU5 ·

Danke erstmal für deine Antwort!

Also ich habe kein Beispiel vom Kickstarter, da ich das Feld später per Hand zum typ user gemacht habe...

So wie du es beschrieben hast, funktioniert es leider auch nicht:
Error.log spuckt Call to a member function getCurrentVal() on a non-object aus.

Gruß Linus

steffenk ·

Hast Du denn nur ein php-Skript ?

Unter Extension versteh ich eine Klasse, die eine andereKlasse erweitert (i.d.R.)

Dann musst Du mal beschreiben, was für eine Ext Du da schreibst und wie Du sie einbindest.

L1NU5 ·

Hast Du denn nur ein php-Skript ?

Nein ich habe schon eine richtige Extension, die ich über den Kickstarter angelegt habe und über den Extensionmanager Installier.

Dann musst Du mal beschreiben, was für eine Ext Du da schreibst

Ich schreibe eine Veranstaltungskalender-Extension

Ich habe in der tca.php meiner Extension ein feld auf user gesetzt und dann eine userFunc implementiert.
Wenn ich nun im Backend ein neues Objekt anlege vom typ meines Plugins,
also sprich eine Veranstaltung, dann habe ich hier dieses Feld vom typ user.
In der dazugehörigen userFunc muss ich die ID der Veranstaltung auslesen...

Das ist das ganze Problem 🙂

L1NU5 ·

So, habe jetzt endlich die Lösung gefunden!

Die ID des Objektes bekomme ich ganz einfach über:

$id = $PA['row']['uid'];

...war die Lösung doch so einfach :o

Stundenlanges CoreApi-Lesen und Kopfzerbrechen...umsonst #angry#
Naja, gelernt habe ich schon viel dabei.

Ist meine erste Extension, da kann das schon mal passieren 😃
war sicherlich auch nicht das letzte mal.

Vielen Dank aber für das Interesse!