Silverstripe 3:在 cms 编辑页面中重定向

Silverstripe 3: Redirecting in cms edit page

我在我的 silverstripe 3 网站上设置了页面重定向。例如。当事件已过日期时,页面将被取消发布,用户将被重定向到主事件页面。 - 这是在初始化函数中完成的

public function init()
    {
        parent::init();

        if ($this->ExpiryDate) {
            $expiryDate = strtotime($this->ExpiryDate);
            $currentDate = strtotime("now");

            if ($expiryDate < $currentDate) {
                $this->doUnpublish();
                $this->redirect('event-no-longer-available/');
            }
        }
    }

但是,当我在 cms 中编辑未发布的页面时,页面仍然被重定向,所以我无法访问该页面进行编辑。

我想在以后更新活动页面并更改详细信息和到期日期,例如..当同一事件在以后再次发生时,只需编辑然后重新发布旧页面而不是创建整个页面新页面。

有什么方法可以设置它,使页面在站点上重定向,但在我尝试在 cms 中编辑它时不会重定向??

已通过修复代码解决。

$this->redirect('event-no-longer-available/');

不需要。可以在我的其他问题 中看到替代方法,通过这样做它停止了重定向。