同步更改
This commit is contained in:
@@ -23,7 +23,8 @@
|
||||
</h3>
|
||||
<ul class="category-menu">
|
||||
{volist name="cate.subCategories" id="subCategory"}
|
||||
<li class="menu-item {$cate.id == $subCategory.id ? 'active' : ''}" data-cateid="{$subCategory.id}">
|
||||
<li class="menu-item {$cate.id == $subCategory.id ? 'active' : ''}"
|
||||
data-cateid="{$subCategory.id}">
|
||||
<span>{$subCategory.name}</span>
|
||||
<i class="layui-icon layui-icon-right"></i>
|
||||
</li>
|
||||
@@ -38,38 +39,42 @@
|
||||
<div class="article-grid" id="articleList">
|
||||
{volist name="cate.subCategories" id="subCategory"}
|
||||
{if $cate.id == $subCategory.id}
|
||||
{if !empty($subCategory.list)}
|
||||
{volist name="subCategory.list" id="article"}
|
||||
<article class="article-card">
|
||||
<div class="card-image">
|
||||
<img src="{$article.image}" alt="{$article.title}">
|
||||
<div class="image-overlay"></div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="meta-info">
|
||||
<span class="category-tag">${article.category_name || '未分类'}</span>
|
||||
<time class="publish-date">${article.create_time || ''}</time>
|
||||
</div>
|
||||
<h3 class="article-title">${article.title}</h3>
|
||||
<div class="card-footer">
|
||||
<div class="stats">
|
||||
<span class="views"><i class="layui-icon layui-icon-eye"></i> ${article.views || 0}</span>
|
||||
<span class="likes"><i class="layui-icon layui-icon-praise"></i> ${article.likes || 0}</span>
|
||||
</div>
|
||||
<a href="/index/articles/detail?id=${article.id}" class="read-more">阅读更多</a>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
{/volist}
|
||||
{else}
|
||||
<div class="empty-state">
|
||||
<div class="empty-icon">
|
||||
<i class="layui-icon layui-icon-template-1"></i>
|
||||
</div>
|
||||
<h4>暂无文章</h4>
|
||||
<p>当前分类下没有找到相关文章</p>
|
||||
{if !empty($subCategory.list)}
|
||||
{volist name="subCategory.list" id="article"}
|
||||
<article class="article-card">
|
||||
<div class="card-image">
|
||||
<img src="{$article.image}" alt="{$article.title}">
|
||||
<div class="image-overlay"></div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="meta-info">
|
||||
<!-- <span class="category-tag">${article.category_name || '未分类'}</span> -->
|
||||
<time class="publish-date">{:date('Y-m-d', $article['create_time'])}</time>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<a href="/index/articles/detail?id=${article.id}">
|
||||
<h3 class="article-title">${article.title}</h3>
|
||||
</a>
|
||||
<div class="card-footer">
|
||||
<div class="stats">
|
||||
<span class="views"><i class="layui-icon layui-icon-eye"></i> ${article.views ||
|
||||
0}</span>
|
||||
<span class="likes"><i class="layui-icon layui-icon-praise"></i> ${article.likes ||
|
||||
0}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
{/volist}
|
||||
{else}
|
||||
<div class="empty-state">
|
||||
<div class="empty-icon">
|
||||
<i class="layui-icon layui-icon-template-1"></i>
|
||||
</div>
|
||||
<h4>暂无文章</h4>
|
||||
<p>当前分类下没有找到相关文章</p>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{/volist}
|
||||
</div>
|
||||
@@ -82,25 +87,25 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['laypage', 'jquery'], function(){
|
||||
layui.use(['laypage', 'jquery'], function () {
|
||||
var laypage = layui.laypage;
|
||||
var $ = layui.jquery;
|
||||
|
||||
// 分类切换
|
||||
$('.menu-item').on('click', function() {
|
||||
$('.menu-item').on('click', function () {
|
||||
var cateid = $(this).data('cateid');
|
||||
var $menuItems = $('.menu-item');
|
||||
|
||||
|
||||
// 更新选中状态
|
||||
$menuItems.removeClass('active');
|
||||
$(this).addClass('active');
|
||||
|
||||
|
||||
// 加载文章
|
||||
loadArticles(cateid, 1);
|
||||
});
|
||||
|
||||
// 页面加载完成后,自动触发第一个分类的点击事件
|
||||
$(document).ready(function() {
|
||||
$(document).ready(function () {
|
||||
var $firstMenuItem = $('.menu-item').first();
|
||||
if ($firstMenuItem.length > 0) {
|
||||
$firstMenuItem.click();
|
||||
@@ -116,14 +121,14 @@
|
||||
cate: cateid,
|
||||
page: page
|
||||
},
|
||||
beforeSend: function() {
|
||||
beforeSend: function () {
|
||||
$('#articleList').html('<div class="loading-state"><i class="layui-icon layui-icon-loading"></i>加载中...</div>');
|
||||
},
|
||||
success: function(res) {
|
||||
if(res.code === 1) {
|
||||
success: function (res) {
|
||||
if (res.code === 1) {
|
||||
var html = '';
|
||||
if(res.data.articles && res.data.articles.length > 0) {
|
||||
res.data.articles.forEach(function(article) {
|
||||
if (res.data.articles && res.data.articles.length > 0) {
|
||||
res.data.articles.forEach(function (article) {
|
||||
html += `<article class="article-card">
|
||||
<div class="card-image">
|
||||
<img src="${article.image}" alt="${article.title}">
|
||||
@@ -131,16 +136,19 @@
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="meta-info">
|
||||
<span class="category-tag">${article.category_name || '未分类'}</span>
|
||||
<time class="publish-date">${article.create_time || ''}</time>
|
||||
|
||||
</div>
|
||||
<h3 class="article-title">${article.title}</h3>
|
||||
<a href="/index/articles/detail?id=${article.id}" class="read-more">
|
||||
<h3 class="article-title">${article.title}</h3>
|
||||
</a>
|
||||
<div class="card-footer">
|
||||
<div class="stats">
|
||||
<span class="views"><i class="layui-icon layui-icon-eye"></i> ${article.views || 0}</span>
|
||||
<span class="likes"><i class="layui-icon layui-icon-praise"></i> ${article.likes || 0}</span>
|
||||
</div>
|
||||
<a href="/index/articles/detail?id=${article.id}" class="read-more">阅读更多</a>
|
||||
<div class="times">
|
||||
<time class="publish-date">${article.create_time ? new Date(article.create_time * 1000).toLocaleDateString() : ''}</time>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>`;
|
||||
@@ -155,7 +163,7 @@
|
||||
</div>`;
|
||||
}
|
||||
$('#articleList').html(html);
|
||||
|
||||
|
||||
// 渲染分页
|
||||
laypage.render({
|
||||
elem: 'pagination',
|
||||
@@ -164,8 +172,8 @@
|
||||
curr: res.data.current_page || 1,
|
||||
theme: '#1E9FFF',
|
||||
layout: ['prev', 'page', 'next'],
|
||||
jump: function(obj, first) {
|
||||
if(!first) {
|
||||
jump: function (obj, first) {
|
||||
if (!first) {
|
||||
loadArticles(cateid, obj.curr);
|
||||
}
|
||||
}
|
||||
@@ -318,7 +326,7 @@
|
||||
}
|
||||
|
||||
.card-image {
|
||||
height: 180px;
|
||||
height: 135px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -350,10 +358,16 @@
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.card-content .read-more h3:hover {
|
||||
color: #1E9FFF !important;
|
||||
transition: all ease .5s;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.meta-info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 12px;
|
||||
/* margin-bottom: 12px; */
|
||||
font-size: 0.85rem;
|
||||
color: #666;
|
||||
}
|
||||
@@ -398,12 +412,16 @@
|
||||
}
|
||||
|
||||
.stats {
|
||||
font-size: 0.85rem;
|
||||
color: #999;
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.times,
|
||||
.stats {
|
||||
font-size: 0.85rem;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.stats i {
|
||||
margin-right: 3px;
|
||||
}
|
||||
@@ -429,7 +447,7 @@
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.layui-laypage a,
|
||||
.layui-laypage a,
|
||||
.layui-laypage span {
|
||||
border-radius: 4px !important;
|
||||
margin: 0 3px !important;
|
||||
@@ -491,8 +509,13 @@
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* 响应式设计 */
|
||||
@@ -500,12 +523,12 @@
|
||||
.modern-layout {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
|
||||
.modern-sidebar {
|
||||
position: static;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
.article-grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
}
|
||||
@@ -515,7 +538,7 @@
|
||||
.modern-header {
|
||||
padding: 60px 0 40px;
|
||||
}
|
||||
|
||||
|
||||
.modern-title {
|
||||
font-size: 2rem;
|
||||
}
|
||||
@@ -525,11 +548,11 @@
|
||||
.article-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
|
||||
.modern-title {
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
|
||||
.modern-subtitle {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user