Question

I have a mapped-superclass with a string property 'name' which belongs to a bundle (SyliusAssortmentBundle, actually). I have a class in my bundles that inherits from that mapped-superclass. I'd like to add Translatable capabilities to my entity by using DoctrineExtensions (Translatable). Since I cannot redeclare the property 'name' in my mapping, I am trying to override the mapping of that property following this doctrine documentation:

http://docs.doctrine-project.org/en/latest/reference/inheritance-mapping.html#attribute-override

Inspired by this, I added this to my product.orm.xml file

    <attribute-overrides>
        <attribute-override name="name">
            <field name="name" column="name" type="string">
                <gedmo:translatable/>
            </field>
        </attribute-override>
    </attribute-overrides>

this doesn't seem to be working. I have added a dummie property (trans_name) to my entity so I am sure that the Translatable Extension is working.

    <field name="trans_name" type="string">
        <gedmo:translatable/>
    </field>

After persisting with something like:

$e->setTranslatableLocale('fr_fr');
$e->setName('name fr');
$e->setTransName('trans name fr');

just the 'trans_name' has been saved to 'ext_translations' table.

So. Is it possible to override the mapping and add Translatable? If so. What am I doing wrong?...

thanks

Was it helpful?

Solution

As far as I know the @AttributeOverrides, @AssociationOverrides, etc annotations are introduced to override Doctrine's fields and associations. Overriding other annotations (like @Gedmo\Translatable) is not supported.

As alternative you could copy/paste the mappings to your own bundle, add the extra ones you need (like @Gedmo\Translatable) and load these mappings in stead of the ones from SyliusAssortmentBundle.

OTHER TIPS

Suppose problem solved years ago, but I just created pull request in gedmo/doctrine-extensions because just bumped to same problem: https://github.com/Atlantic18/DoctrineExtensions/pull/1631

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top