gongZuoDongTai.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?php
  2. // 引入公共查询类
  3. require_once 'CommonQuery.php';
  4. // 主频道名称
  5. $mainChannelName = '工作动态';
  6. // 使用loadChildChannelByChannelName函数获取子分类
  7. $sideMenu = loadChildChannelByChannelName($mainChannelName);
  8. // 获取URL参数
  9. $selectedChannel = isset($_GET['channel']) ? $_GET['channel'] : '';
  10. $currentPage = isset($_GET['page']) ? intval($_GET['page']) : 1;
  11. // 验证当前页码
  12. if ($currentPage < 1) {
  13. $currentPage = 1;
  14. }
  15. // 每页显示的文章数量
  16. $pageSize = 12;
  17. // 确定要查询的频道名称
  18. $queryChannel = !empty($selectedChannel) ? $selectedChannel : (count($sideMenu) > 0 ? $sideMenu[0]['name'] : $mainChannelName);
  19. // 使用loadListByChannelNameAndPage函数获取文章列表
  20. $results = loadListByChannelNameAndPage($pageSize, $queryChannel, $currentPage);
  21. $workUpdates = $results['list'];
  22. $totalPages = $results['totalPages'];
  23. // 如果没有结果但选择了子分类,尝试查询主频道
  24. if (empty($workUpdates)) {
  25. $results = loadListByChannelNameAndPage($pageSize, $mainChannelName, 1);
  26. $workUpdates = $results['list'];
  27. $totalPages = $results['totalPages'];
  28. $currentPage = 1;
  29. $queryChannel = $mainChannelName;
  30. }
  31. // 轮播图数据
  32. $carouselItems = [
  33. [
  34. "image" => "/images/test-header-4.png",
  35. "alt" => $mainChannelName
  36. ]
  37. ];
  38. ?>
  39. <!DOCTYPE html>
  40. <html lang="zh-CN">
  41. <head>
  42. <meta charset="UTF-8">
  43. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  44. <title>厦门市文化遗产保护中心 - <?php echo $queryChannel; ?></title>
  45. <link rel="stylesheet" href="/css/fonts.css">
  46. <link rel="stylesheet" href="/css/fontawesome.min.css">
  47. <link rel="stylesheet" href="/css/bootstrap.min.css">
  48. <link rel="stylesheet" href="/css/swiper-bundle.min.css">
  49. <link rel="stylesheet" href="/css/style.css">
  50. <script src="/js/jquery-3.7.1.js"></script>
  51. <script src="/js/bootstrap.bundle.js"></script>
  52. <script src="/js/swiper-bundle.min.js"></script>
  53. </head>
  54. <body>
  55. <?php include __DIR__ . '/components/navbar.php'; ?>
  56. <!-- 轮播图 -->
  57. <div class="swiper mySwiper" style="width: 100%; height: 400px;">
  58. <div class="swiper-wrapper">
  59. <?php foreach ($carouselItems as $item): ?>
  60. <div class="swiper-slide">
  61. <img src="<?php echo $item['image']; ?>" alt="<?php echo $item['alt']; ?>" style="width: 100%; height: 100%; object-fit: cover;">
  62. </div>
  63. <?php endforeach; ?>
  64. </div>
  65. <div class="swiper-pagination"></div>
  66. <div class="swiper-button-prev"></div>
  67. <div class="swiper-button-next"></div>
  68. </div>
  69. <!-- 主要内容 -->
  70. <div class="main-content">
  71. <div class="container">
  72. <div class="row">
  73. <!-- 左侧导航 -->
  74. <div class="col-12 col-sm-12 col-md-4 col-lg-3">
  75. <div class="sidebar">
  76. <div class="title">
  77. <h2><?php echo $mainChannelName; ?></h2>
  78. </div>
  79. <ul class="sidebar-menu">
  80. <?php if (!empty($sideMenu)): ?>
  81. <?php foreach ($sideMenu as $item): ?>
  82. <li><a href="?channel=<?php echo urlencode($item['name']); ?>&page=1" class="<?php echo $selectedChannel == $item['name'] ? 'active' : ''; ?>"><?php echo $item['name']; ?><i class="fa fa-arrow-right"></i></a></li>
  83. <?php endforeach; ?>
  84. <?php else: ?>
  85. <li class="no-content">暂无相关子分类</li>
  86. <?php endif; ?>
  87. </ul>
  88. </div>
  89. </div>
  90. <!-- 右侧内容 -->
  91. <div class="col-12 col-sm-12 col-md-8 col-lg-9">
  92. <div class="content">
  93. <div class="section-title">
  94. <h2 class="icon"><?php echo $queryChannel; ?></h2>
  95. <nav aria-label="breadcrumb">
  96. <ol class="breadcrumb">
  97. <li class="breadcrumb-item"><a href="/">首页</a></li>
  98. <li class="breadcrumb-item"><a href="./">工作动态</a></li>
  99. <?php if ($selectedChannel): ?>
  100. <li class="breadcrumb-item active" aria-current="page"><?php echo $selectedChannel; ?></li>
  101. <?php else: ?>
  102. <li class="breadcrumb-item active" aria-current="page">工作动态</li>
  103. <?php endif; ?>
  104. </ol>
  105. </nav>
  106. </div>
  107. <!-- 文章列表 -->
  108. <div class="news-list">
  109. <?php if (!empty($workUpdates)): ?>
  110. <?php foreach ($workUpdates as $item): ?>
  111. <?php
  112. // 确保所有必要字段存在
  113. $title = isset($item['title']) ? $item['title'] : '暂无标题';
  114. $articleId = isset($item['id']) ? $item['id'] : '';
  115. $date = isset($item['createtime']) ? date('Y-m-d', intval($item['createtime'])) : '未知日期';
  116. ?>
  117. <div class="news-item">
  118. <a href="/xinWenXiangQing/?id=<?php echo $articleId; ?>&channel=<?php echo urlencode($queryChannel); ?>" class="title"><?php echo $title; ?></a>
  119. <span class="date"><?php echo $date; ?></span>
  120. </div>
  121. <?php endforeach; ?>
  122. <?php else: ?>
  123. <div class="no-news">暂无相关文章</div>
  124. <?php endif; ?>
  125. </div>
  126. <!-- 分页 -->
  127. <nav aria-label="List Page navigation">
  128. <ul class="pagination mt-4">
  129. <li class="prev"><a href="?channel=<?php echo urlencode($selectedChannel); ?>&page=<?php echo $currentPage > 1 ? $currentPage - 1 : 1; ?>">&lt;</a></li>
  130. <?php for ($i = 1; $i <= $totalPages; $i++): ?>
  131. <li class="<?php echo $i == $currentPage ? 'active' : ''; ?>"><a href="?channel=<?php echo urlencode($selectedChannel); ?>&page=<?php echo $i; ?>"><?php echo $i; ?></a></li>
  132. <?php endfor; ?>
  133. <li class="next"><a href="?channel=<?php echo urlencode($selectedChannel); ?>&page=<?php echo $currentPage < $totalPages ? $currentPage + 1 : $totalPages; ?>">&gt;</a></li>
  134. </ul>
  135. </nav>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. <?php include __DIR__ . '/components/footer.php'; ?>
  142. <script>
  143. $(document).ready(function() {
  144. // 初始化 Swiper
  145. const swiper = new Swiper(".mySwiper", {
  146. slidesPerView: 1,
  147. spaceBetween: 30,
  148. loop: true,
  149. pagination: {
  150. el: ".swiper-pagination",
  151. clickable: true,
  152. },
  153. navigation: {
  154. nextEl: ".swiper-button-next",
  155. prevEl: ".swiper-button-prev",
  156. },
  157. autoplay: {
  158. delay: 5000,
  159. disableOnInteraction: false,
  160. },
  161. });
  162. });
  163. </script>
  164. </body>
  165. </html>