Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет, возник не большой затык:
У меня есть индклюд который я вставляю в шаблон для вывода списка категорий, категории хранятся в базе, я создал метов контроллера:
public function getCategories()
{
$categories_list = BlogCategories::where('active', '1')->orderBy('category_id')->get();
return view('front.layouts.BlogTemplate', [ 'categories_list' => $categories_list ]);
}
В файле front.layouts.BlogTemplate в который я передаю массив данных:
@include( 'front.layouts.includes.categories-menu', ['cat_list' => $categories_list])
И уже я принимаю всё в последнем файле в front.layouts.includes.categories-menu:
@if(count($cat_lists) > 0)
<ul>
@foreach($cat_lists->all() as $cat_list)
<li><a href="{{ URL::action('BlogController@getCategory', ['category' => $cat_list->slug]) }}"><i class="fa fa-caret-right"></i> {{ $cat_list->title }}</a></li>
@endforeach
</ul>
@endif
И всё это выдаёт мне ошибку: Undefined variable: categories_list
Что означает эта ошибка я понимаю, не понимаю почему она возникает. Подскажите чего я не вижу, и вообще правильно я решаю такую задачу?
Не в сети
Ну вообще, на дочерние шаблоны, включенные через @include - и так все данные от родителя передаются, поэтому достаточно:
@include('front.layouts.includes.categories-menu')
Вот чего я не понимаю - метод getCategory() это настоящая отдельная страница? Или Вы таким образом думали передать список категорий?
Не в сети
Ну вообще, на дочерние шаблоны, включенные через @include - и так все данные от родителя передаются, поэтому достаточно:
@include('front.layouts.includes.categories-menu')
Вот чего я не понимаю - метод getCategory() это настоящая отдельная страница? Или Вы таким образом думали передать список категорий?
Да я таким образом пытаюсь передать список категорий, просто я ничего умнее не придумал чем создать метод, очень сильно избегал логики в видах. Подскажите каким способом ещё можно вывести список категорий?
Не в сети
Помогите кто-нибудь.
Не в сети
нестыковочка
@include( 'front.layouts.includes.categories-menu', ['cat_list' => $categories_list])
и
@if(count($cat_lists) > 0)
+
ссылки генери напрямую, прямым и понятным способом, без вывертов туда, где поменяешь и сдохнешь искать, причины неработоспособности скриптов.
{{URL::secure('твоя ссылка в том виде, как ожидаешь её видеть на морде со всеми конкатинациями')}}
Не в сети
Я уже перебрал все имена переменной и тд, думал конфликт, в данный момент у меня с названием переменных всё ок. Проблема в другом:
Подскажите каким способом ещё можно вывести список категорий?
Не в сети
Контроллером возвращаешь страницу.
Из шаблона дёргаешь модель В foreach
Не в сети
Я тебя не совсем понял.
Сделал так в шаблоне @foreach(App\BlogCategories::where('active', '1')->orderBy('category_id')->get() as $cat_list)
Так работает но мне кажется это не совсем верно, прав ли я?
Не в сети
Я тебя не совсем понял.
Сделал так в шаблоне @foreach(App\BlogCategories::where('active', '1')->orderBy('category_id')->get() as $cat_list)
Так работает но мне кажется это не совсем верно, прав ли я?
Если сайт маленький - то в принципе можно так и оставить.
А вообще, лучше в контроллер это убрать и в шаблон уже просто массив передать.
Не в сети
Страницы 1