7913 Posts in 1355 Topics by 930 members
DataObjectManager Module
SilverStripe Forums » DataObjectManager Module » What's the right way to use DOM with DataObjectDecorator
Discuss the DataObjectManager module, and the related ImageGallery module.
Moderators: martimiz, UncleCheese, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba, simon_w
|
Page:
1
|
Go to End | |
| Author | Topic: | 170 Views |
-
What's the right way to use DOM with DataObjectDecorator

17 June 2012 at 11:35am Last edited: 17 June 2012 11:35am
I have this piece of code in my decorator, which is mostly copy-paste from FormScaffolder to add a field for the many_many attribute Contacts.
public function updateCMSFields(FieldSet &$fields) {
$component = 'Contact';
$relationship = 'Contacts';
$relationshipFields = $this->getRelationshipFields();
$filterWhere = $this->owner->getManyManyFilter($relationship, $component);
$filterJoin = $this->owner->getManyManyJoin($relationship, $component);$dom = new DataObjectManager($this->owner,
$relationship,
$component,
$relationshipFields,
"getCMSFields_forPopup",
$filterWhere,
'',
$filterJoin
);
$tab = $fields->findOrMakeTab('Root.Main.Contacts',
singleton($component)->i18n_plural_name());
$tab->push($dom);
}Existing contacts show up in the field as expected. But if I add a new contact, the contact it is saved in the Contact table, as expected, but the relation is not saved in the relationship table. If I replace DataObjectManager with ComplexTableField it works as it should.
| 170 Views | ||
|
Page:
1
|
Go to Top |

