Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

ManyManyComplexTableField Without Edit/Delete/Add Options


4 Posts   1799 Views


16 October 2009 at 8:54am (Last edited: 11 January 2013 11:15am), Community Member, 18 Posts

I'm working with the e-commerce module, and one of the tasks I am trying to complete is allowing a Bundle of individual products to be sold as one unit.
Where I'm getting stuck at is selecting the individual products to be in the bundle. My idea was to simply use a ManyManyComplexTableField to allow the selection of the products, and this for the most part works fine. The problem is I really don't want a user to be able to Edit the individual product from the bundle, or worse yet, delete the product rather than un-checking the box.

Is there some way I can remove the View, Edit, Delete, and add buttons and functions from the field, while still allowing the user to check the box to select the ones they want ? I would be most thankful for any assistance.


17 December 2009 at 12:29am (Last edited: 11 January 2013 11:15am), Community Member, 4 Posts

you can try:



11 January 2013 at 4:46am (Last edited: 11 January 2013 11:15am), Community Member, 15 Posts

$actionTablefield->setReadOnly('true'); did not work for me in Silverstripe 2.4.7.

While it got rid of the "add / edit / delete" buttons, the relationships were not saved after submission.


11 January 2013 at 11:21am Forum Moderator, 1796 Posts

You could remove the default created one - or modify the existed created one (I don't know the ecommerce code well - maybe if you post existing code it would help).

something like this...

$ctf = new ManyManyComplexTableField ($this,'MyObject','Floor',null,null,<some where clause>);
$fields->addFieldToTab("Root.MyObject", $ctf);