/** * Действие для отображение главной страницы. * * @return \Illuminate\Http\Response */ public function index() { // Главная статья $data['article'] = Article::whereType('main_article')->first(['full_text', 'page_title', 'page_keywords', 'page_description']); // Три новости $data['news'] = News::whereIsOnMain(TRUE)->orderBy('created_at', 'DESC')->limit(3)->get(); // Отображение return view('marketing.home.index', $data); }
// app/widgets.php use App\News; use App\Article; use App\Slider; // Виджет слайдера Widget::register('slider', function () { // Получение данных $data['slider'] = Slider::orderBy('order', 'ASC')->get(); // Отображение return view('marketing.widgets.slider', $data); }); // Виджет новостей в футере Widget::register('footer_latest_news', function () { // Получаем новости, которые должны быть на главной $data['news'] = News::whereIsOnMain(TRUE)->orderBy('created_at', 'DESC')->limit(3)->get(); // Отображаем return view('marketing.widgets.footer_latest_news', $data); }); // Виджет "О Компании" в футере Widget::register('footer_about', function () { // Получаем данные $data['text'] = Article::firstOrCreate(['type' => 'footer_about'])->full_text; // Отображаем return view('marketing.widgets.footer_about', $data); }); // Виджет "Зв'яжіться з нами" в футере Widget::register('footer_contacts', function () { // Получаем данные $data['text'] = Article::firstOrCreate(['type' => 'footer_contacts'])->full_text; // Отображаем