2
votes

How can I retrieve the class name (string) of the original class, within a DataExtension?

class FooExtension extends DataExtension {

    // This returns "FooExtension" (but I need the original-class name, not the extension's)
    private $foo1 = self::class;

    // This returns nothing
    public function Foo2 {
        return $this->owner;
    }

    // This returns "FooExtension", surprisingly
    public function Foo3 {
        return get_class($this->owner);
    }

    // This returns nothing either
    public function Foo4 {
        return $this->owner->class;
    }
}

So eg when applying this extension to Page, I want to return or assign Page (string) somewhere in the extension class.

1

1 Answers

6
votes

You can get the owner's class by calling $this->owner->ClassName from within your DataExtension.