/** * Overwrite to also check for method on the original data object * * @param string $method * @return bool */ public function hasMethod($method) { if (parent::hasMethod($method)) { return true; } return $this->copyContentFrom()->hasMethod($method); }
/** * @see SiteTree::doUnpublish * @param Page $page * * @return void */ public function onAfterUnpublish($page) { if (!$page->hasMethod('getItemsToPublish')) { return; } foreach ($page->getItemsToPublish() as $field) { if ($field->hasMethod('doDeleteFromStage')) { $field->doDeleteFromStage('Live'); } else { $field->deleteFromStage('Live'); } } }