@php /* |-------------------------------------------------------------------------- | Field Name Helper |-------------------------------------------------------------------------- */ $n = fn (string $field) => 'sections[' . $type . '][content][' . $field . ']'; /* |-------------------------------------------------------------------------- | Resolve Existing Media References |-------------------------------------------------------------------------- */ $resolveRefs = function (mixed $values) { return collect( is_array($values) ? $values : [] ) ->map(function ($value) { if (is_array($value)) { return data_get( $value, 'path' ) ?: data_get( $value, 'url' ) ?: data_get( $value, 'image' ) ?: data_get( $value, 'image_path' ); } return $value; }) ->filter() ->unique() ->values(); }; @endphp {{-- ====================================================================== HERO SECTION ====================================================================== --}} @if($type === 'hero') @php $heroImages = $resolveRefs( $fieldValue( 'hero', 'gallery_images', [] ) ); /* |-------------------------------------------------------------------------- | Backward compatibility with old hero image fields |-------------------------------------------------------------------------- */ if ($heroImages->isEmpty()) { $heroImages = collect([ $fieldValue( 'hero', 'main_image_url' ), $fieldValue( 'hero', 'side_image_1_url' ), $fieldValue( 'hero', 'side_image_2_url' ), ]) ->filter() ->unique() ->values(); } $customerAvatars = $resolveRefs( $fieldValue( 'hero', 'customer_avatars', [] ) ); @endphp
{{-- ================================================================ HERO GALLERY ================================================================= --}}
Hero Slider Images Unlimited total images • Multiple upload • Drag & Drop
JPG / PNG / WEBP / AVIF
@foreach($heroImages as $reference) @php $url = $mediaUrl( $reference ); @endphp @if($url)
Hero image Saved
@endif @endforeach
{{-- ================================================================ CUSTOMER AVATARS ================================================================= --}}
Customer Avatar Images এখানে Bangladeshi customer photos upload করুন
Multiple Upload
@foreach($customerAvatars as $reference) @php $url = $mediaUrl( $reference ); @endphp @if($url)
Customer Saved
@endif @endforeach
{{-- ====================================================================== BENEFITS SECTION ====================================================================== --}} @elseif($type === 'benefits')
@for($i = 0; $i < 6; $i++) @endfor
{{-- ====================================================================== PROMO SECTION ====================================================================== --}} @elseif($type === 'promo') @php $promoReference = $fieldValue( 'promo', 'image' ) ?: $fieldValue( 'promo', 'image_url' ); @endphp
Promo Banner Image Direct upload
Single Image
@if(filled($promoReference)) @php $promoUrl = $mediaUrl( $promoReference ); @endphp @if($promoUrl)
Promo image Saved
@endif @endif
{{-- ====================================================================== USAGE SECTION ====================================================================== --}} @elseif($type === 'usage')
@for($i = 0; $i < 3; $i++) @endfor
{{-- ====================================================================== REVIEWS SECTION ====================================================================== --}} @elseif($type === 'reviews') @php $reviewScreenshots = $resolveRefs( $fieldValue( 'reviews', 'screenshots', [] ) ); /* |-------------------------------------------------------------------------- | Old reviews format compatibility |-------------------------------------------------------------------------- */ if ($reviewScreenshots->isEmpty()) { $oldItems = collect( (array) $fieldValue( 'reviews', 'items', [] ) ); $reviewScreenshots = $oldItems ->map(function ($item) { return data_get( $item, 'image' ) ?: data_get( $item, 'image_url' ); }) ->filter() ->unique() ->values(); } @endphp
Screenshot Only

এখানে customer name, review text, rating বা location আলাদাভাবে দিতে হবে না। শুধু Facebook, WhatsApp, Messenger অথবা customer feedback screenshot upload করুন।

Customer Experience Screenshots যতগুলো চান add করতে পারবেন
Multiple Upload
@foreach($reviewScreenshots as $reference) @php $url = $mediaUrl( $reference ); @endphp @if($url)
Customer review screenshot Saved
@endif @endforeach
{{-- ====================================================================== ORDER SECTION ====================================================================== --}} @elseif($type === 'order') @php /* |-------------------------------------------------------------------------- | Landing-page-specific Free Shipping |-------------------------------------------------------------------------- | | Stored inside: | | landing_page_sections.content.free_shipping | | No new database column is required. | */ $freeShippingValue = $fieldValue( 'order', 'free_shipping', false ); $freeShippingEnabled = filter_var( $freeShippingValue, FILTER_VALIDATE_BOOLEAN ); /* |-------------------------------------------------------------------------- | Configured admin delivery areas |-------------------------------------------------------------------------- */ $builderDeliveryAreas = collect( $deliveryAreas ?? [] ) ->map(function ($area, $key) { if (is_array($area)) { return [ 'key' => (string) ( data_get( $area, 'key' ) ?? $key ), 'label' => (string) ( data_get( $area, 'label' ) ?? data_get( $area, 'name' ) ?? $key ), ]; } return [ 'key' => (string) $key, 'label' => (string) $area, ]; }) ->values(); @endphp {{-- ================================================================ FREE SHIPPING SETTING ================================================================= --}}
Landing Page Free Shipping Enable করলে এই landing page-এর জন্য সব delivery area-তে delivery charge ৳0 / Free হবে। Disable করলে Delivery Settings-এ admin থেকে create করা area এবং weight-based delivery rate ব্যবহার হবে।
{{-- ================================================================ ADMIN DELIVERY AREA PREVIEW ================================================================= --}}
Delivery Areas এগুলো Admin Delivery Settings থেকে automatically আসছে।
@if($freeShippingEnabled) FREE SHIPPING ENABLED @endif
@if($builderDeliveryAreas->isNotEmpty())
@foreach($builderDeliveryAreas as $area)
{{ $area['label'] }} {{ $freeShippingEnabled ? 'Free' : 'Admin Rate' }}
@endforeach
@else
কোনো active delivery area পাওয়া যায়নি। Delivery Settings থেকে অন্তত একটি area তৈরি করুন।
@endif
{{-- ================================================================ ORDER CONTENT ================================================================= --}}
{{-- ====================================================================== FOOTER SECTION ====================================================================== --}} @elseif($type === 'footer')
@endif