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

DataObjectManager SS v2.3.3 I can't handle sub-URLs...


Go to End
Reply

9 Posts   3458 Views

Avatar
wardog

16 October 2009 at 4:38pm (Last edited: 16 October 2009 4:39pm), Community Member, 9 Posts

How about the following error and I do not know how you can correct ..
I created a small gallery with DataObjectManager module .. And I have a multi-language service .. but when I step to the second language I get the following error ..

"I can't handle sub-URLs of a CMSMain object."

From what I've read I understand it is because it is the same object and not exceeding the premises but do not understand how to fix it .. if anyone can help me I will be grateful

Avatar
FullWebService

22 October 2009 at 2:02am (Last edited: 22 October 2009 2:04am), Community Member, 38 Posts

I bumped into the same problem, but found a fix.

Change the if-statement on line 88 of /cms/code/CMSMain.php to:

if(Translatable::is_enabled()) {
   // $Lang serves as a "context" which can be inspected by Translatable - hence it
   // has the same name as the database property on Translatable.
   if($this->getRequest()->requestVar("Locale")) {
      $this->Locale = $this->getRequest()->requestVar("Locale");
   } elseif($this->getRequest()->requestVar("locale")) {
      $this->Locale = $this->getRequest()->requestVar("locale");
    } elseif (Session::get("{$this->class}.Locale")) {
      $this->Locale = Session::get("{$this->class}.Locale");    
   } else {
      $this->Locale = Translatable::default_locale();
   }
   Translatable::set_current_locale($this->Locale);
   Session::set("{$this->class}.Locale", $this->Locale);
}

This should do the trick. (See patch for 2.3.2 http://open.silverstripe.com/attachment/ticket/4199/CMSMain.patch)

And thanks to UncleCheese, the DataObjectManager is excellent.

Avatar
UncleCheese

22 October 2009 at 2:27am 4085 Posts

Wow. Thanks. Great to have this finally resolved. Did you submit a patch to SS?

Avatar
FullWebService

22 October 2009 at 3:13am (Last edited: 22 October 2009 3:13am), Community Member, 38 Posts

I'm ashamed to say I have no idea how these patch things work.

I just go through the red and green lines and manualy update my code.

If you want to/can make a patch for this issue to help others with the same problem, that would be great. If you can point me to some directions on how to handle patches, that would be awesome.

Avatar
UncleCheese

22 October 2009 at 3:39am 4085 Posts

You can submit a bug to open.silverstripe.com. Just don't mention anything about DataObjectManager, because they'll often blame the module for having the bug, not their own code. :)

Avatar
ChrisBryer

24 November 2009 at 9:51am Community Member, 95 Posts

sorry to chime in so late.. there's already a sudo-patch for the problem, which gets around things the same way, and it is ticket #4199.

i think SS has been holding off on the fix because they want to stay away from session variables in the translatable code and it may also be affected by modelAdmin (what is the interface for modeladmin and translatable dataobjects?) as well as heirarchical urls.. i think thats what i read from a lot of discussions.

-Chris

Avatar
keeny

26 November 2009 at 2:58pm (Last edited: 26 November 2009 3:17pm), Community Member, 48 Posts

I'm getting the same error "I can't handle sub-URLs of a CMSMain object." In the popup window of a DOM when I try to save the DataObject.

The url that the popup is trying to post to is:

<form id="DataObjectManager_Popup_DetailForm" action="admin/EditForm/field/Locations/item/28/DetailForm" method="post" enctype="application/x-www-form-urlencoded">

I tried the CMSMain.php fix with no luck - i'm not using Translatable.

Is there any way for me to get more info than just this message?

Thanks,

Barry.

Avatar
Double-A-Ron

26 November 2009 at 6:05pm Community Member, 604 Posts

Keeny,

This may help you in your case: http://silverstripe.org/installing-silverstripe/show/264801#post264801

Aaron

Go to Top