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.

DataObjectManager Module

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Preview: DataObjectManager module


379 Posts   61752 Views


20 February 2009 at 11:03pm Community Member, 32 Posts

Thanks UncleCheese, checked out the latest and with your tip, that worked perfectly. I only have one small issue now,

I added


to the _config.php file and I can see the Allow Drag & Drop reordering tick box but any reordering that I do is not reflected when viewing the page and if I edit another page in the CMS and come back, the original order is back.

Thanks again


21 February 2009 at 4:34am 4085 Posts

Did you run a /db/build after adding the sortable class? it needs to add a SortOrder column to the object. My guess is after you sort, the AJAX request is failing because it can't find that column.

And needless to say, when you display on the frontend, don't have an order clause in your query. It will order by SortOrder by default.


21 February 2009 at 12:05pm Community Member, 32 Posts

After retracing my steps, it hit me. I added the sortable class after adding the resources to the database. Totally makes sense why it wont sort now.

Thanks for your patience.


22 February 2009 at 6:31am Community Member, 18 Posts

I have a subdirectory in my localhost, something like http://localhost/silverstripe_2_3_0/.
In silverstripe 2.3.0 rc3 some files aren't found. So i had do delete the leading slashes of directories. The director is forced to take the whole path do build an absolute url.
These files are affected:
facebox.js (Line82): loadingImage : 'dataobject_manager/images/loading.gif',
facebox.js (Line83): closeImage : 'dataobject_manager/images/closelabel.gif',
dataobject_manager.js (Line70): $'DataObjectManager_Controller/dosort/' + do_class, $list.sortable("serialize"));

swfupload/_config.php (Line35): 'flash_url' => Director::absoluteURL('swfupload/javascript/swfupload.swf'),
swfupload/_config.php (Line45): 'button_image_url' => Director::absoluteURL('swfupload/images/XPButtonNoText_160x22.png'),

In css-Files replace /dataobject_manager/images with ../images

I have another problem with sorting the data. I have a page with two dataobject_manager objects. Each of them has a sortable property.
Sorting the data works now in the first tab on list & grid-view, on the second tab, i can only sort the data in grid view, not in list view. I can change the order of the tabs and i have the same effect with the second tab.
Do you have any suggestion?


22 February 2009 at 6:58am 4085 Posts

Thanks for uncovering this bug. I'll first confirm it and then issue a fix. At that point, revert your changes and checkout the latest version. I'll make a post when I have it figured out. Thanks.


22 February 2009 at 7:23am 4085 Posts

Okay, I've confirmed it. This is very bizarre. For some reason, only that checkbox has the strange behavior of binding to the first DOM on the page. All the other event handlers are aware of their unique containers. So strange.


22 February 2009 at 8:01am 4085 Posts

Yup. You'll see someone mentioned that a few posts ago. I'll be checking in a new version with the correct pathing soon.


22 February 2009 at 8:14am 4085 Posts


The checkbox had an ID tied to it to link it to its label. That id was not unique if more than on DOM was on a page, so the target of the click event was always the first DOM on the page. Made the id on the input unique, and it seems to be working now.

Those of you who messed with the pathing in the CSS/JS, please revert and check out the new version from SVN. Thanks.