5116 Posts in 1525 Topics by 1118 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 374 Views |
-
How to run a function after certain CMS fields have been changed

3 October 2011 at 3:22pm Last edited: 3 October 2011 3:24pm
I've got a function I want to run on page save/ publish if certain custom CMS fields have been changed.
For example:
class Foo extends DataObjectDecorator {
public function updateCMSFields() {
$fields->addFieldsToTab("Root.Content", array(
new NumericField('Bar', 'Change me and save this page to trigger FooBar function')
));
}
}function FooBar(){
//Do things
//With stuff
}Any ideas?
-
Re: How to run a function after certain CMS fields have been changed

3 October 2011 at 9:47pm
create some custom javascript to handle the change (inspect the current form to get the required ID to watch), add a REquirements::javascript within the function - job done.
-
Re: How to run a function after certain CMS fields have been changed

4 October 2011 at 8:40am
Hi Swaiba
Thank you for that.
I understand the principle of what you're saying but struggling with the correct execution.
Do you have any code examples of how to do this?
Cheers
Tama -
Re: How to run a function after certain CMS fields have been changed

6 October 2011 at 8:07am Last edited: 6 October 2011 8:07am
Looking at the SiteTree::onBeforeWrite() function I noticed the use of $this->isChanged('URLSegment') (line 1339). So maybe this would work in your Page class:
protected function onBeforeWrite() {
if ($this->isChanged('SomeField')){
// do something
}parent::onBeforeWrite();
}Mind - I didn't test it...
| 374 Views | ||
|
Page:
1
|
Go to Top |


