我在silverstripe 3网站上设置了页面重定向。例如。事件经过其日期后,该页面将取消发布,并且用户将重定向到主事件页面。 -这是在init函数中完成的
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中对其进行编辑时却不能?
答案 0 :(得分:0)
已通过修复代码解决。
$this->redirect('event-no-longer-available/');
不是必需的。在我的其他问题Can I set a custom error page in silverstripe for certain page types?中可以看到替代方法,通过这样做,它停止了重定向。