7921 Posts in 1359 Topics by 933 members
DataObjectManager Module
SilverStripe Forums » DataObjectManager Module » 2.4 - DOM in SiteConfig not working for me
Discuss the DataObjectManager module, and the related ImageGallery module.
Moderators: martimiz, UncleCheese, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba, simon_w
| Go to End | Next > | |
| Author | Topic: | 5079 Views |
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:05am
Where should it go? I tried to follow Aram's tutorial as closely as possible but I must have missed something.
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:08am
I'm not familiar with it, but it seems to me those functions need to be defined in the CTF or a subclass thereof. You've defined them in your site config decorator, but they're not doing anything as far as I can see.
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:13am
Hi Delkin,
If you look a little closer at the code in the tutorial you'll see that we actually need to create a new class which extends DataObjectManager to put our new function into.
In this case you need to create a class that extends HadManyComplexTableField which might look like this:
class SiteConfig_HasManyComplexTableField extends HasManyComplexTableField {
function setSourceID($val) {
if (is_numeric($val)) {
$this->sourceID = $val;
}
}
function sourceID() {
if (isset($this->sourceID) && $this->sourceID !== null && is_numeric($this->sourceID)) {
return $this->sourceID;
}
return parent::sourceID();
}
}then in getCMS fields make sure you create a SiteConfig_HasManyComplextTableField instead of just a standard one.
Out of interest why are you using a CTF over a DOM? I din't realise there was any compelling reason to do so!
Aram
www.SSBits.com - SilverStripe Tutorials, Tips and other bits
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:37am
Ha... Thanks for the promo, Aram.
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:38am
By the way, would it make sense to roll those functions into the DOM source so you don't have to subclass it? Seems odd to have to create a subclass for something to fundamental.
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 3:44am
Ha... Thanks for the promo, Aram."
No need for thanks, just saying it how it is
By the way, would it make sense to roll those functions into the DOM source so you don't have to subclass it? Seems odd to have to create a subclass for something to fundamental.
Yea that would be awesome, would mean it could be used in SiteConfig without any extra work, except for actually setting the SourceID. In fact would explicitly calling that function in the DOM code adversely effect the DOM when used on a regular page? If not then that would allow it to be used in SiteConfig without any extra code at all....
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 4:15am
You want to try it and report your findings? I think what you want is somewhere in the constructor to add $this->setSourceID($this->controller->ID);
Man, that DOM code is such a mess. I hate going in there. Amazing how an extra year's worth of experience really changes your perception.
-
Re: 2.4 - DOM in SiteConfig not working for me

13 July 2010 at 5:51am
implemented and tested, diff atta...oh can't attach files anymore? Ok you can find it here: http://aabweb.co.uk/assets/Uploads/DataObjectManager.php.diff
I havnt tested extensively (i.e. with all the different DOM types), though as you'll see from the code I haven't done anything that will effect the sourceID function on normal pages, just added a condition to fetch the sourceID if it can't get it the normal way.
Let me know if that looks ok
Thanks UC!
Aram
| 5079 Views | ||
| Go to Top | Next > |


