Silverstripe重定向在cms编辑页面

时间:2019-04-11 22:35:48

标签: php redirect content-management-system silverstripe

我在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中对其进行编辑时却不能?

1 个答案:

答案 0 :(得分:0)

已通过修复代码解决。

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

不是必需的。在我的其他问题Can I set a custom error page in silverstripe for certain page types?中可以看到替代方法,通过这样做,它停止了重定向。