giftcon_dev/resources/views/web/layouts/subpage.blade.php
sungro815 b0545ab5b9 관리자 상품관리 완료
웹사이트 상품리스트 상세보기 작업중
2026-02-20 18:11:03 +09:00

87 lines
3.8 KiB
PHP

@extends('web.layouts.layout')
@section('content')
<div class="subpage-wrap">
<div class="container">
{{-- Breadcrumb --}}
@isset($breadcrumbs)
@include('web.partials.breadcrumb', ['items' => $breadcrumbs])
@endisset
@php
$heroSlides = config('web.hero_slides', []);
// 섹션 감지
$isCsPage = request()->is('cs') || request()->is('cs/*') || request()->routeIs('web.cs.*');
$isMypagePage = request()->is('mypage') || request()->is('mypage/*') || request()->routeIs('web.mypage.*');
$isPolicyPage = request()->is('policy') || request()->is('policy/*') || request()->routeIs('web.policy.*');
// [추가] 상품 페이지 섹션 감지
$isShopPage = request()->is('product') || request()->is('product/*') || request()->routeIs('web.product.*');
// CS subnav 자동 주입
if ($isCsPage && empty($subnavItems)) {
$subnavItems = collect(config('web.cs_tabs', []))->map(function ($t) {
return ['label' => $t['label'] ?? '', 'url' => Route::has($t['route'] ?? '') ? route($t['route']) : '#', 'key' => $t['key'] ?? null];
})->all();
}
// MYPAGE subnav 자동 주입
if ($isMypagePage && empty($subnavItems)) {
$subnavItems = collect(config('web.mypage_tabs', []))->map(function ($t) {
return ['label' => $t['label'] ?? '', 'url' => Route::has($t['route'] ?? '') ? route($t['route']) : '#', 'key' => $t['key'] ?? null];
})->all();
}
// active key 설정
$subnavActive = $csActive ?? $mypageActive ?? ($subnavActive ?? null);
@endphp
@if(!empty($heroSlides))
@include('web.partials.hero-slider', ['slides' => $heroSlides, 'variant' => 'compact', 'id' => 'hero-sub'])
@endif
<div class="subpage-grid">
@if($isCsPage)
@include('web.partials.cs-tabs', ['activeKey' => $subnavActive])
@elseif($isMypagePage)
@include('web.partials.mypage-tabs', ['activeKey' => $subnavActive])
@elseif($isPolicyPage)
@include('web.partials.policy-tabs', ['activeKey' => $subnavActive])
@else
{{-- Mobile Tabs --}}
<div class="subpage-tabs">
@include('web.partials.subpage-sidenav', [
'items' => $subnavItems ?? [],
'active' => $subnavActive,
'mode' => 'tabs'
])
</div>
{{-- Desktop Side --}}
<aside class="subpage-side" aria-label="서브메뉴">
@include('web.partials.subpage-sidenav', [
'items' => $subnavItems ?? [],
'active' => $subnavActive,
'mode' => 'side',
'title' => $isShopPage ? 'CATEGORY' : ($sideTitle ?? null),
'isShop' => $isShopPage
])
</aside>
@endif
<main class="subpage-main" id="main-content">
<div class="content-card">
@include('web.partials.subpage-header', [
'title' => $pageTitle ?? '페이지 제목',
'desc' => $pageDesc ?? null
])
@yield('subcontent')
</div>
</main>
</div>
</div>
</div>
@endsection