@extends('themes::ripple.layout') @php use VsMov\Core\Models\Movie; $recommendations = Cache::remember('site.movies.recommendations', setting('site_cache_ttl', 5 * 60), function () { return Movie::where('is_recommended', true) ->limit(get_theme_option('recommendations_limit', 10)) ->get() ->sortBy([ function ($a, $b) { return $a['name'] <=> $b['name']; }, ]); }); $data = Cache::remember('site.movies.latest', setting('site_cache_ttl', 5 * 60), function () { $lists = preg_split('/[\n\r]+/', get_theme_option('latest')); $data = []; foreach ($lists as $list) { if (trim($list)) { $list = explode('|', $list); [$label, $relation, $field, $val, $limit, $link] = array_merge($list, ['Phim mới cập nhật', '', 'type', 'series', 8, '/']); try { $data[] = [ 'label' => $label, 'data' => Movie::when($relation, function ($query) use ($relation, $field, $val) { $query->whereHas($relation, function ($rel) use ($field, $val) { $rel->where($field, $val); }); }) ->when(!$relation, function ($query) use ($field, $val) { $query->where($field, $val); }) ->limit($limit) ->orderBy('updated_at', 'desc') ->get(), 'link' => $link ?: '#', ]; } catch (\Exception $e) { } } } return $data; }); @endphp @section('content') @if (count($recommendations)) @endif

{{ $title }}

@foreach ($data as $key_section => $item)

{{ $item['label'] }}

Xem Thêm
@foreach ($item['data'] ?? [] as $key => $movie) @include('themes::ripple.inc.movie_card') @endforeach
@endforeach @endsection @push("header") @endpush @push('scripts') @endpush