@php use App\Models\Backend\ContentPhotoGallery; $newsGalleries = ContentPhotoGallery::with(['translations', 'photoLists']) ->where('gallery_cat', 'NEWS') ->where('gallery_status', 'ACTIVE') ->where('gallery_portal', 'redd-plus') ->orderBy('gallery_sort') ->orderBy('gallery_date', 'desc') ->get(); // Pilih terjemahan album ikut bahasa semasa, fallback ke main / pertama $gTrans = function ($g) use ($lang) { return $g->translations->firstWhere('gallery_translation_language', $lang) ?? $g->translations->firstWhere('gallery_translation_main', 1) ?? $g->translations->first(); }; // Senarai gambar setiap album (baris utama) + deskripsi ikut bahasa $galleryPhotos = $newsGalleries->mapWithKeys(function ($g) use ($lang) { $all = $g->photoLists; $mains = $all->where('photo_main', 1)->sortBy('photo_sort'); return ['g' . $g->gallery_id => $mains->map(function ($p) use ($all, $lang) { $tr = $all->first(fn ($x) => (int) $x->photo_parent_id === (int) $p->photo_id && $x->photo_language === $lang); return [ 'url' => image_url($p->photo_url), 'descr' => plain_text($tr->photo_descr ?? $p->photo_descr), ]; })->values()]; }); // Deskripsi penuh setiap album (plain text) untuk modal "Read more" $galleryDescr = $newsGalleries->mapWithKeys(fn ($g) => [ 'g' . $g->gallery_id => plain_text($gTrans($g)?->gallery_translation_descr, false), ]); @endphp
Latest updates, announcements and news from REDD Plus Malaysia.
{{ $gDescr }}
@endif @if($gDescr !== '' || $photos->count())There are no images yet.