{{-- 视频模块前台展示模板 --}} @php $locale = locale_code(); @endphp
{{-- 模块标题 --}} @if(!empty($content['title'][$locale] ?? $content['title']))

{{ $content['title'][$locale] ?? $content['title'] }}

@if(!empty($content['description'][$locale] ?? $content['description']))

{{ $content['description'][$locale] ?? $content['description'] }}

@endif
@endif {{-- 视频播放器 --}}
@if($content['videoType'] === 'local' && !empty($content['videoUrl'])) {{-- 本地视频 --}} @elseif($content['videoType'] === 'youtube' && !empty($content['videoUrl'])) {{-- YouTube视频 --}} @php $youtubeId = ''; if (preg_match('/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([^&\n?#]+)/', $content['videoUrl'], $matches)) { $youtubeId = $matches[1]; } @endphp @if($youtubeId) @php $youtubeParams = []; if ($content['autoplay']) $youtubeParams[] = 'autoplay=1'; if ($content['muted']) $youtubeParams[] = 'mute=1'; if ($content['loop']) { $youtubeParams[] = 'loop=1'; $youtubeParams[] = 'playlist=' . $youtubeId; } if (!$content['controls']) $youtubeParams[] = 'controls=0'; $youtubeQuery = !empty($youtubeParams) ? '?' . implode('&', $youtubeParams) : ''; @endphp
@else

{{ __('PageBuilder::common.youtube_url_invalid') }}

@endif @elseif($content['videoType'] === 'vimeo' && !empty($content['videoUrl'])) {{-- Vimeo视频 --}} @php $vimeoId = ''; if (preg_match('/vimeo\.com\/(\d+)/', $content['videoUrl'], $matches)) { $vimeoId = $matches[1]; } @endphp @if($vimeoId) @php $vimeoParams = []; if ($content['autoplay']) $vimeoParams[] = 'autoplay=1'; if ($content['loop']) $vimeoParams[] = 'loop=1'; if ($content['muted']) $vimeoParams[] = 'muted=1'; if (!$content['controls']) $vimeoParams[] = 'controls=0'; $vimeoQuery = !empty($vimeoParams) ? '?' . implode('&', $vimeoParams) : ''; @endphp
@else

{{ __('PageBuilder::common.vimeo_url_invalid') }}

@endif @else {{-- 无视频或封面图片 --}} @if(!empty($content['coverImage'][$locale] ?? $content['coverImage']))
{{ __('PageBuilder::common.video_cover') }}
@elseif(request('design')) @include('PageBuilder::front.partials.module-empty', [ 'moduleClass' => 'video', 'icon' => 'bi-camera-video', 'message' => __('PageBuilder::modules.add_video_content'), ]) @endif @endif
@if(request()->has('design'))
{{ __('PageBuilder::modules.edit') }}
{{ __('PageBuilder::modules.delete') }}
{{ __('PageBuilder::modules.move_up') }}
{{ __('PageBuilder::modules.move_down') }}
@endif