Lavary Laravel -меню (подменю) не работает - PullRequest
0 голосов
/ 06 марта 2020

Я использую lavary laravel -меню, но мой код не работает.

protected function renderOutPut(){
    $menu = $this->getMenu();
    //dd($menu);
    $header = view(env('THEME','pink').'.partials.header')->render();
    $this->vars = Arr::add($this->vars,'header',$header);

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

protected function getMenu(){
    $menu = $this->m_rep->get();
      //dd($menu);

    $mBuilder = Menu\Facade::make('MyNav',function ($m) use ($menu){
      foreach ($menu as $item){
          if ($item->parent == 0){
              $m->add($item->title,$item->url_link)->id($item->id);
          }else{
              if ($m->find($item->parent)){
                  $m->find($item->parent)->add($item->title,$item->url_link)->id($item->id);
              }
          }
      }
    });
    dd($mBuilder);
    return $mBuilder;
}

Когда я печатаю после else dd($m->find($item->parent)), получим null. Я не могу найти ответ, помогите мне, пожалуйста, если вы знаете ... Вверху я наберу use Lavary\Menu

1 Ответ

0 голосов
/ 06 марта 2020

Нахожу ответ на свой вопрос.

После else нужно добавить этот код: $m->add($item->title,$item->url_link)->id($item->id); Примерно так:

protected function getMenu(){
        $menu = $this->m_rep->get();
          dd($menu);

        $mBuilder = Menu\Facade::make('MyNav',function ($m) use ($menu){
          foreach ($menu as $item){
              if ($item->parent == 0){
                  $m->add($item->title,$item->url_link)->id($item->id);
              }else{
                  $m->add($item->title,$item->url_link)->id($item->id);
                  if ($m->find($item->parent)){
                      $m->find($item->parent)->add($item->title,$item->url_link)->id($item->id);
                  }
              }
          }
        });
        //dd($mBuilder);
        return $mBuilder;
    }

Эта работа. Потому что, если вы не назначите все элементы объекта, $ m не сможет найти, что ищет мой объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...