Bug #59620
closedStrange property mapping when using subclasses
0%
Description
Hi,
i have a strange behaviour with the property mapping.
Situation:
Model:
class A{ protected aThing; } class B extends A{ protected bThing; }
Now i have an edit mask in FE. I want to use just one editAction for
both types:
public editAction(\Something\A $a){.....} public updateAction(\Something\A $a){....} In fuild I have template like this: .... <f:form.textfield property="aThing" /> <f:if condtion="{a.type}=tx_..._b"> <f:form.textfield property="bThing" /> </if> ....
But when i edit type b and press edit "Save" button i get this error:
Exception while property mapping at property path "":Property "bThing" was
not found in target object of type "...\Wall\Domain\Model\A"
Which i right because A doesn't have a "bThink". But why is fuild using the wrong type?
I try to avoid that by using an Interface:
interface AInterface{} class A implements AInterface{ protected aThing; } class B extends A { protected bThing; } public editAction(\Something\AInterface $a){.....} public updateAction(\Something\AInterface $a){....}
But then i get the error that the class AInterface can not be found:
#1278450972: The classname "...\...\Domain\Model\AInterface" was not
found and thus can not be reflected.
A workaround would be to have different actions for each type but since
i have more than just one subclass i don't want to do that.
Using name="" and value="" instead of property might also help.
Any ideas?
Updated by Eike Starkmann almost 10 years ago
Another suggestion:
http://forum.typo3.org/index.php/t/204305/
Updated by Anja Leichsenring about 8 years ago
- Status changed from New to Rejected
There will be no improvement for this issue soon. You still can use the described workaround, using name and value instead of property fields in fluid forms.