Перенаправление Silverstripe на странице редактирования cms - PullRequest
2 голосов
/ 12 апреля 2019

На моем сайте 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 ??

1 Ответ

0 голосов
/ 15 апреля 2019

Решено исправлением кода.

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

не требуется. Альтернативу этому можно увидеть в моем другом вопросе Могу ли я установить пользовательскую страницу ошибки в silverstripe для определенных типов страниц? и, тем самым, она остановила перенаправление.

...