Unlink в основном звонки $page->Relation()->remove($object);
Если вы хотите удалить отношения, вы можете использовать onBeforeUnpublish()
ловушку что-то вроде:
class Page extends SiteTree
{
public function onBeforeUnpublish()
{
foreach ($this->Relation() as $object) {
$this->Relation()->remove($object);
}
}
}
Если вы хотите сделать это автоматически, возможно, вы захотите добавить к вашему PageController::init()
что-то, что перебирает все страницы, требующие отмены публикации, а затем отменяет их публикацию (я думаю, используя Page::doUnpublish()
).
Кроме того, вы можете написать BuildTask
, а затем запустить его через задание cron.
ПРИМЕЧАНИЕ Я не тестировал приведенный выше код, потребуется некоторая настройка ...