Неопределенная переменная при отправке данных в представление в Laravel 5.8 - PullRequest
3 голосов
/ 11 апреля 2019

У меня следующая проблема: я загружаю основной макет (представление) сайта методом renderOutput, который написан на родительском контроллере SiteController.

protected function renderOutput(){
  $menu = $this->getMenu();
  $navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
  $this->vars = array();
  $this->vars = array_add($this->vars,'navigation', $navigation);

  return view($this->template)->with($this->vars);
}

И в дочернем контроллере IndexController в методе index я вызываю этот метод. А также для отображения ползунков раздела (section) в методе index я передаю переменную $sliders по адресу шаблона слайдера.

public function index(){
    //
    $sliders = view(env('THEME').".slider")->render();
    $this->vars = array();
    $this->vars = array_add($this->vars,'sliders',$sliders); 

    return $this->renderOutput();
}

Но когда я использую эту переменную в шаблоне, я получаю сообщение об ошибке. То есть переменная $sliders недоступна в шаблоне. Подскажите пожалуйста как решить проблему. Заранее спасибо!

Неопределенная переменная: ползунки (Просмотр: C: \ Users \ Пользователь \ Загрузки \ Программы \ OSPanel \ domains \ Corporate \ resources \ views \ pink \ index.blade.php)

1 Ответ

1 голос
/ 11 апреля 2019

В renderOutput() вы перезаписываете $this->vars, поэтому оно не определено.

Использование:

protected function renderOutput(){
  $menu = $this->getMenu();
  $navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
  $this->vars = array_add($this->vars,'navigation', $navigation);

  return view($this->template)->with($this->vars);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...