_Layout.cshtml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. @inject Microsoft.Extensions.Configuration.IConfiguration Configuration
  2. <!DOCTYPE html>
  3. <html lang="ko">
  4. <head>
  5. <meta charset="utf-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>
  8. @ViewData["Title"]
  9. @if (!string.IsNullOrEmpty(ViewData["Title"] as string))
  10. {
  11. <text>-</text>
  12. }
  13. 쿠팡 상품 카탈로그
  14. </title>
  15. <meta http-equiv="refresh" content="3000" />
  16. <meta name="description" content="다양한 쿠팡의 특별 상품을 파악 및 검색해보실 수 있습니다." />
  17. <meta name="keywords" content="쿠팡,쿠팡인기상품,쿠팡PL,쿠팡골드박스,쿠팡이벤트,쿠팡상품,coupang,쿠팡카탈로그,쿠팡검색,쿠팡파트너스" />
  18. <meta name="author" content="김진오" />
  19. <meta name="naver-site-verification" content="534321e6b7402169fc787ae2f795049aef0232e3" />
  20. @*
  21. 정규 주소(canonical). 쿼리스트링이 붙은 주소가 별도 페이지로 색인되는 것을 막는다.
  22. 리버스 프록시 뒤에서는 Request.Scheme 이 http 로 들어올 수 있어 SitemapController 와 동일하게
  23. 설정값(Site:BaseUrl)을 우선 사용한다.
  24. 색인 대상이 아닌 페이지(검색 결과, 오류)는 ViewData["NoIndex"] = true 로 표시해 canonical 대신 noindex 를 내보낸다.
  25. *@
  26. @if (ViewData["NoIndex"] is true)
  27. {
  28. <meta name="robots" content="noindex, follow" />
  29. }
  30. else
  31. {
  32. var canonicalBase = (Configuration["Site:BaseUrl"] ?? "https://goods.web.or.kr").TrimEnd('/');
  33. <link rel="canonical" href="@(canonicalBase + Context.Request.Path)" />
  34. }
  35. <link rel="stylesheet" href="~/css/tailwind.output.css" asp-append-version="true" />
  36. <link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
  37. @await RenderSectionAsync("Styles", required: false)
  38. <!-- Google tag (gtag.js) -->
  39. <script async src="https://www.googletagmanager.com/gtag/js?id=G-RPBF1M8JNY"></script>
  40. <script>
  41. window.dataLayer = window.dataLayer || [];
  42. function gtag(){dataLayer.push(arguments);}
  43. gtag('js', new Date());
  44. gtag('config', 'G-RPBF1M8JNY');
  45. </script>
  46. </head>
  47. <body>
  48. <div class="overlay" id="overlay">
  49. <img id="btnCancel" src="/image/btn-cancel.svg" alt="X" />
  50. </div>
  51. <div class="flex flex-row flex-nowrap">
  52. <aside class="flex-initial border-r-1">
  53. <section>
  54. <iframe src="https://coupa.ng/cgY9Th" width="100%" height="75" frameborder="0" scrolling="no" referrerpolicy="unsafe-url" browsingtopics></iframe>
  55. </section>
  56. <hr/>
  57. <nav>
  58. <ul class="list-outside">
  59. <li><a asp-area="" asp-controller="Home" asp-action="Index"> 처음으로</a></li>
  60. <li><a asp-area="" asp-controller="Home" asp-action="GoldBox">골드박스</a></li>
  61. <li><a asp-area="" asp-controller="Home" asp-action="Event"> 이벤트</a></li>
  62. </ul>
  63. <hr/>
  64. <details open>
  65. <summary>인기상품</summary>
  66. <ul class="list-outside">
  67. <li><a href="/category/1001">여성패션</a></li>
  68. <li><a href="/category/1002">남성패션</a></li>
  69. <li><a href="/category/1010">뷰티</a></li>
  70. <li><a href="/category/1011">출산/유아동</a></li>
  71. <li><a href="/category/1012">식품</a></li>
  72. <li><a href="/category/1013">주방용품</a></li>
  73. <li><a href="/category/1014">생활용품</a></li>
  74. <li><a href="/category/1015">홈인테리어</a></li>
  75. <li><a href="/category/1016">가전디지털</a></li>
  76. <li><a href="/category/1017">스포츠/레저</a></li>
  77. <li><a href="/category/1018">자동차용품</a></li>
  78. <li><a href="/category/1019">도서/음반/DVD</a></li>
  79. <li><a href="/category/1020">완구/취미</a></li>
  80. <li><a href="/category/1021">문구/오피스</a></li>
  81. <li><a href="/category/1024">헬스/건강식품</a></li>
  82. <li><a href="/category/1025">국내여행</a></li>
  83. <li><a href="/category/1026">해외여행</a></li>
  84. <li><a href="/category/1029">반려동물용품</a></li>
  85. <li><a href="/category/1030">유아동패션</a></li>
  86. </ul>
  87. </details>
  88. <hr/>
  89. <details open>
  90. <summary>쿠팡PL</summary>
  91. <ul class="list-outside">
  92. <li><a href="/pl/1001">탐사</a></li>
  93. <li><a href="/pl/1002">코멧</a></li>
  94. <li><a href="/pl/1003">Gomgom</a></li>
  95. <li><a href="/pl/1004">줌</a></li>
  96. <li><a href="/pl/1006">곰곰</a></li>
  97. <li><a href="/pl/1007">꼬리별</a></li>
  98. <li><a href="/pl/1008">베이스알파에센셜</a></li>
  99. <li><a href="/pl/1010">비타할로</a></li>
  100. <li><a href="/pl/1011">비지엔젤</a></li>
  101. </ul>
  102. </details>
  103. </nav>
  104. </aside>
  105. <main class="flex-initial w-full">
  106. <div class="flex flex-col w-full">
  107. <header class="flex-initial w-full">
  108. <form name="f_search" id="fSearch" method="get" class="w-full lg:w-1/2 mx-auto" accept-charset="UTF-8" rel="search" autocomplete="off" asp-controller="Home" asp-action="Search">
  109. <div class="flex items-center rounded overflow-hidden">
  110. <img id="btnMenuToggle" src="/image/btn-menu.svg" alt="메뉴"/>
  111. <input type="search" name="keyword" class="flex-grow outline-none" placeholder="인기상품을 검색합니다." autofocus value="@ViewBag?.Keyword" />
  112. <button type="submit" id="btnSearchSubmit" class="w-auto lg:max-w-[14%]">검색</button>
  113. </div>
  114. </form>
  115. </header>
  116. <div class="flex-1 w-full">
  117. @RenderBody()
  118. </div>
  119. <footer class="flex-initial w-full">
  120. <div class="flex flex-col pb-8 sm:flex-row sm:justify-between items-center sm:pb-0">
  121. <div class="flex-none mb-2 sm:mb-0">
  122. <span>&copy; 2024~@DateTime.Now.Year TOSIRO. All rights reserved.</span>
  123. </div>
  124. <div class="flex-grow text-center sm:text-right">
  125. <small>※ 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.</small>
  126. </div>
  127. </div>
  128. </footer>
  129. </div>
  130. </main>
  131. </div>
  132. <script src="@Url.Content("~/lib/jquery/dist/jquery.min.js")"></script>
  133. <script src="@Url.Content("~/js/site.js")"></script>
  134. @await RenderSectionAsync("Scripts", required: false)
  135. </body>
  136. </html>