5319 Posts in 1593 Topics by 1165 members
|Go to End|
2 February 2010 at 12:16am
Hi there, I am using OnBeforeWrite to populate my meta data and this is working great, however can anyone tell me if there is a way that I can tie this into the batch publish in Silverstripe?
Thanks in advance
2 February 2010 at 1:29am
I never did this, but I guess you could subclass SiteTreeDecorator, override the onBeforePublish method in your new class and use it as decorator for SiteTree. The decorator can be applied using the $extensions array or by calling DataObject::add_extension() in your _config.php.
The onBeforePublish method of the decorator will be called every time the page is being published, that probably includes batch publishing as well.
26 May 2011 at 2:14am
I also need to use onBeforePublish() on a BlogEntry to populate a hidden field I need. I've added the method to BlogEntry.php thinking this would overload it from SiteTreeDecorator but I not so:
500 Error: "Uncaught Exception: Object->__call(): the method 'onbeforepublish' does not exist on 'BlogEntry'"
What do I have to do to overload this method and capture the onBeforePublish event in when BlogEntry is published? Seems odd I would have to create a new file for this.
Thanks in advance,
|Go to Top|