Octobercms, перенаправление на дом из компонента не работает - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь перенаправить из компонента, если идентификатор из пули неверен.

Запуск из макета

function onBeforePageStart(){ $this->Contentloader->getMeta(); }

В компоненте у меня есть:

public function getMeta(){

//id checking logic goes here

if ($id == null) return Redirect::to('/'); }

Проверяя объект dd (Redirect :: to ('/')), я вижу

enter image description here

Но это не перенаправление.

Пожалуйста, совет

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Компоненты должны иметь возможность обрабатывать перенаправления без onBeforePageStart().Это всего лишь быстрый пример.Здесь я проверяю, является ли поле компонента пустым.Если значение равно null, вернитесь к '/'.

. Вы можете сделать это в компоненте: Убедитесь, что используется класс Redirect use Redirect;

public function defineProperties()
{
    return [
        'useSomething' => [
            'title'             => 'Something',
            'description'       => 'Testing Testing',
            'default'           => '',
            'type'              => 'text',
        ]

    ];
}

public function onRun()
{

    if ($this->property('useSomething') == null) {
        return Redirect::to('/');
    } else {
        $this->page['something'] = $this->property('useSomething');
    }
}
0 голосов
/ 27 февраля 2019

попробуйте это

в вашем компоненте:

public function getMeta()
{
   if ($id == null) return false;
}

в вашем макете:

function onBeforePageStart()
{ 
     $meta = $this->Contentloader->getMeta();
     if(!$meta)
          return Redirect::to('/');

}

Я надеюсь помочь вам:)

...