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
Rohan
This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
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
Rohan
Hi Rohan
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.
Hi,
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,
Garrett