Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Подскажите пожалуйста как осуществить вывод меню? Если оно у меня выводится динамически и есть возможность редактировать его из админки(делать активным/паcивным). Не пойму как и куда передать его чтоб выводилось на всех страницах сайта а не заново писать запрос в каждом контроллере получать меню. Сам запрос по нахождению меню
$menuTop = DB::table('menu_items')
->leftJoin('menus','menu_items.menu_id','=','menus.id')
->leftJoin('menu_groups','menu_items.group_menu_id','=','menu_groups.id')
->where('menu_items.group_menu_id', '=' ,'1')
->get();
Не в сети
Ты можешь использовать например виджеты как быстрый вариант, есть огромное количество пакетов!
https://github.com/arrilot/laravel-widgets
Обязательно установи пакет и попробуй понять как они устроены. Успехов!
Не в сети
Добрый день.
Если бы я делал делал так.
1) Создать MenuController в нем единственный метод index;
public function index() {
$menuTop = DB::table('menu_items')
->leftJoin('menus','menu_items.menu_id','=','menus.id')
->leftJoin('menu_groups','menu_items.group_menu_id','=','menu_groups.id')
->where('menu_items.group_menu_id', '=' ,'1')
->get();
// Тут важно вернуть Json
return response()->json($menuTop);
}
2) В routax прописиваем
Route::get('ajax/menu', 'MenuController@index');
3) Далее идете в свой шаблон и прописываете там какой то <div class='menu'></div>
4) Делаете в общем файле Javascript запрос ajax по адресу ajax/menu получаете список меню и выводите эти меню уже форматировано через jquery или что там вы используете в <div class='menu'>Сюда ваш Javascript должен вывести меню</div>
Получаете сайт работающий с rest запросами, а это:
Стильно,
Модно,
Современно!
4 пункт напишите сами мне писать забесплатно лень. Но можно, как коллега говорит и через библиотеки модулей.
А вообще я бы не задрачивался и выводил бы меню отдельным статическим блоком. У меня в юносте тоже были такие порывы на Drupal 4, делать динамическое меню из терминов таксономии и дергать его из базы. Сейчас я к этому охладел. Меню в основном это статика, как показывает практика на 99% это так.
С ув., Алексей
Не в сети
public function index() {
$menuTop = DB::table('menu_items')
->leftJoin('menus','menu_items.menu_id','=','menus.id')
->leftJoin('menu_groups','menu_items.group_menu_id','=','menu_groups.id')
->where('menu_items.group_menu_id', '=' ,'1')
->get();
// Тут важно вернуть Json
return response()->json($menuTop);
}
Мне больше нравится так
return (string)$menuTop;
Не в сети
Лучше всего вариант с виджетом. 1 раз пропишешь и всё ок
Не в сети
Спасибо всем! Только начинаю ознакамливаться с Laravel и Ваши советы очень нужны мне) Реально ломал голову как сделать, но в голову не приходило то, что мне предложили! Еще раз спасибо!:)
Не в сети
Страницы 1