This commit is contained in:
zhao 2020-03-13 22:59:38 +08:00
parent b270bda273
commit 3461ee39e8
13 changed files with 70 additions and 52 deletions

View File

@ -147,7 +147,7 @@ class Forum extends AdminController
$res['count']= count($list);
$res['data'] = [];
foreach($list as $k=>$v){
$res['data'][] = ['id' => $v['id'],'tags'=>$v['catename'],'sort'=>$v['sort'],'ename'=>$v['ename']];
$res['data'][] = ['sort'=>$v['sort'],'id' => $v['id'],'tags'=>$v['catename'],'ename'=>$v['ename'],'desc'=>$v['desc']];
}
}
return json($res);
@ -160,8 +160,7 @@ class Forum extends AdminController
{
if(Request::isAjax()){
$data = Request::param();
//halt($data);
$list = Db::name('cate')->save($data);
$list = Db::name('cate')->cache('catename')->save($data);
if($list){
return json(['code'=>0,'msg'=>'添加分类成功']);
@ -178,8 +177,7 @@ class Forum extends AdminController
{
if(Request::isAjax()){
$data = Request::param();
//halt($data);
$list = Db::name('cate')->where('id',$data['id'])->save($data);
$list = Db::name('cate')->cache('catename')->update($data);
if($list){
return json(['code'=>0,'msg'=>'修改分类成功']);
@ -201,6 +199,7 @@ class Forum extends AdminController
if($result == 1){
Cache::tag('catename')->clear();
return json(['code'=>0,'msg'=>'删除分类成功']);
}else{
return json(['code'=>-1,'msg'=>'删除分类失败']);

View File

@ -30,7 +30,7 @@ class Set extends AdminController
unset($data['file']);
//$system = System::find(1);
//$result = $system->allowField(['webname','webtitle','domain','keywords','descript','copyright','blackname'])->save($data);
$result = Db::name('system')->cache(true)->where('id', 1)->update($data);
$result = Db::name('system')->cache('system')->where('id', 1)->update($data);
if($result){
return json(['code'=>0,'msg'=>'更新成功']);
} else {

View File

@ -52,7 +52,7 @@ try {
//根据user area_id查询区域简称
function getAsing($area_id){
return Db::name('user_area')->where('id',$area_id)->value('asing');
return Db::name('user_area')->where('id',$area_id)->cache(3600)->value('asing');
}
//根据用户主键ID查询用户名称
@ -74,11 +74,17 @@ if(!function_exists('getUserImg'))
//根据文章分类ID查询分类名
function getCateName($cate_ename)
function getCateName($ename)
{
return Db::name('cate')->where('ename',$cate_ename)->value('catename');
return Db::name('cate')->where('ename',$ename)->cache(3600)->value('catename');
}
//根据文章分类ID查询分类描述
function getCateDesc($ename)
{
return Db::name('cate')->where('ename',$ename)->cache(3600)->value('desc');
}
//过滤文章摘要
function getArtContent($content)

View File

@ -226,7 +226,7 @@ abstract class BaseController
protected function showNav()
{
//1.查询分类表获取所有分类
$cateList = Db::name('cate')->where(['status'=>1,'delete_time'=>0])->order('sort','asc')->cache(3600)->select();
$cateList = Db::name('cate')->where(['status'=>1,'delete_time'=>0])->order('sort','asc')->cache('catename',3600)->select();
//2.将catelist变量赋给模板 公共模板nav.html
View::assign('cateList',$cateList);
@ -237,7 +237,7 @@ abstract class BaseController
protected function showUser()
{
//1.查询用户
$user = Db::name('user')->field('id,name,nickname,user_img,sex,auth,city,email,sign,point')->where('id',Session::get('user_id'))->cache(120)->find();
$user = Db::name('user')->field('id,name,nickname,user_img,sex,auth,city,email,sign,point')->where('id',Session::get('user_id'))->cache(true)->find();
//2.将User变量赋给模板 公共模板nav.html
View::assign('user',$user);
}
@ -246,7 +246,7 @@ abstract class BaseController
protected function showSystem()
{
//1.查询分类表获取所有分类
$sysInfo = Db::name('system')->cache(3600)->find(1);
$sysInfo = Db::name('system')->cache('system',3600)->find(1);
View::assign('sysInfo',$sysInfo);
}

View File

@ -26,14 +26,17 @@ class Article extends BaseController
$where =[];
//获取分类ID
$ename = Request::param('ename');
$type = Request::param('type');
$cate = Db::name('cate')->where('ename',$ename)->find();
$types = input('type');
if($cate){
$where = ['cate_id' => $cate['id']];
}else{
$where = true;
}
switch ($types) {
$artList = Cache::get('arts'.$cate['id'].$type);
if(!$artList){
switch ($type) {
//查询文章,15个分1页
case 'all':
$artList = ArticleModel::field('id,title,cate_id,user_id,create_time,is_top,is_hot')->with([
@ -79,8 +82,11 @@ class Article extends BaseController
])->withCount(['comments'])->where('status',1)->where($where)->order(['is_top'=>'desc','create_time'=>'desc'])->withCache(30)->paginate(15);
break;
}
Cache::set('arts'.$cate['id'].$type,$artList,600);
}
// 热议文章
$artHot = ArticleModel::field('id,title')->withCount('comments')->where('status',1)->whereTime('create_time', 'year')->order('comments_count','desc')->limit(10)->select();
//分类右栏广告
@ -88,7 +94,7 @@ class Article extends BaseController
//通用右栏
$ad_comm = Db::name('slider')->where('slid_status',1)->where('delete_time',0)->where('slid_type',2)->whereTime('slid_over','>=',time())->select();
View::assign(['type'=>$types,'artList'=>$artList,'artHot'=>$artHot,'ad_cate'=>$ad_cate,'ad_comm'=>$ad_comm]);
View::assign(['type'=>$type,'artList'=>$artList,'artHot'=>$artHot,'ad_cate'=>$ad_cate,'ad_comm'=>$ad_comm]);
return View::fetch();
}
@ -110,6 +116,7 @@ class Article extends BaseController
}
$comments = $article->comments()->where('status',1)->select();
$article->inc('pv')->update();
$pv = Db::name('article')->field('pv')->where('id',$id)->value('pv');
/*
$nt = time();
@ -133,7 +140,7 @@ class Article extends BaseController
//通用右栏
$ad_comm = Db::name('slider')->where('slid_status',1)->where('delete_time',0)->where('slid_type',2)->whereTime('slid_over','>=',time())->select();
View::assign(['article'=>$article,'comments'=>$comments,'artHot'=>$artHot,'ad_art'=>$ad_article,'ad_comm'=>$ad_comm]);
View::assign(['article'=>$article,'pv'=>$pv,'comments'=>$comments,'artHot'=>$artHot,'ad_art'=>$ad_article,'ad_comm'=>$ad_comm]);
return View::fetch();
}

View File

@ -169,19 +169,17 @@ CREATE TABLE `tao_cate` (
`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
`status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '状态1启用0禁用',
`type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0帖子1文章',
`desc` varchar(255) NOT NULL,
`is_hot` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否是热点',
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`updata_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间',
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
INSERT INTO `tao_cate` VALUES ('1', '提问', 'ask', '1', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('2', '分享', 'share', '2', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('3', '讨论', 'talk', '3', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('4', '新闻', 'news', '5', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('5', '咸鱼', 'fish', '7', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('6', '求助', 'help', '6', '1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('7', '工作', 'work', '5', '1', '0', '0', '0', '1571231165');
INSERT INTO `tao_cate` VALUES ('1', '提问', 'ask', '1', '1', '0', 'TaoLer社区提问专栏1', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('2', '分享', 'share', '2', '1', '0', '', '0', '0', '0', '0');
INSERT INTO `tao_cate` VALUES ('3', '讨论', 'talk', '3', '1', '0', '', '1', '0', '0', '0');
DROP TABLE IF EXISTS `tao_collection`;

View File

@ -81,13 +81,13 @@ layui.define(['table', 'form'], function(exports){
elem: '#LAY-app-content-tags'
,url: '/admin/Forum/tags' //模拟接口
,cols: [[
{type: 'numbers', fixed: 'left'}
,{field: 'sort', title: '排序', width: 100, sort: true}
,{field: 'id', title: 'ID',minWidth: 30}
,{field: 'tags', title: '分类名', minWidth: 100}
{type: 'numbers', fixed: 'left'}
,{field: 'sort', title: '排序', width: 80, sort: true}
,{field: 'id', title: 'ID',Width: 50}
,{field: 'tags', title: '分类名', minWidth: 100}
,{field: 'ename', title: 'EN别名', minWidth: 100}
,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#layuiadmin-app-cont-tagsbar'}
,{field: 'desc', title: '描述', minWidth: 100}
,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#layuiadmin-app-cont-tagsbar'}
]]
,text: '对不起,加载出现异常!'
});
@ -134,16 +134,17 @@ layui.define(['table', 'form'], function(exports){
,yes: function(index, layero){
//获取iframe元素的值
var othis = layero.find('iframe').contents().find("#layuiadmin-app-form-tags")
,sort = othis.find('input[name="sort"]').val()
,tags = othis.find('input[name="tags"]').val()
,ename = othis.find('input[name="ename"]').val()
,sort = othis.find('input[name="sort"]').val();
,ename = othis.find('input[name="ename"]').val()
,desc = othis.find('input[name="desc"]').val();
if(!tags.replace(/\s/g, '')) return;
$.ajax({
type:"post",
url:"/admin/Forum/tagsform",
data:{"id":data.id,"catename":tags,"sort":sort,"ename":ename},
data:{"id":data.id,"sort":sort,"catename":tags,"ename":ename,"desc":desc},
daType:"json",
success:function (data){
if (data.code == 0) {
@ -175,9 +176,10 @@ layui.define(['table', 'form'], function(exports){
,success: function(layero, index){
//给iframe元素赋值
var othis = layero.find('iframe').contents().find("#layuiadmin-app-form-tags").click();
othis.find('input[name="tags"]').val(data.tags)
,othis.find('input[name="ename"]').val(data.ename)
,othis.find('input[name="sort"]').val(data.sort);
othis.find('input[name="sort"]').val(data.sort)
,othis.find('input[name="tags"]').val(data.tags)
,othis.find('input[name="ename"]').val(data.ename)
,othis.find('input[name="desc"]').val(data.desc);
}
});
}

View File

@ -37,16 +37,17 @@
,btn: ['确定', '取消']
,yes: function(index, layero){
var othis = layero.find('iframe').contents().find("#layuiadmin-app-form-tags")
,sort = othis.find('input[name="sort"]').val()
,tags = othis.find('input[name="tags"]').val()
,sort = othis.find('input[name="sort"]').val()
,ename = othis.find('input[name="ename"]').val();
,ename = othis.find('input[name="ename"]').val()
,desc = othis.find('input[name="desc"]').val();
if(!tags.replace(/\s/g, '')) return;
$.ajax({
$.ajax({
type:"post",
url:"{:url('admin/Forum/addtags')}",
data:{"catename":tags,"sort":sort,"ename":ename},
data:{"sort":sort,"catename":tags,"ename":ename,"desc":desc},
daType:"json",
success:function (data){
if (data.code == 0) {

View File

@ -6,13 +6,17 @@
<div class="layui-form-item">
<label class="layui-form-label">分类名</label>
<div class="layui-input-inline">
<input type="text" name="tags" lay-verify="required" placeholder="分类明(必填)" autocomplete="off" class="layui-input">
<input type="text" name="tags" lay-verify="required" placeholder="分类名*" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">EN别名</label>
<div class="layui-input-inline">
<input type="text" name="ename" lay-verify="required" placeholder="英文别名(必填)" autocomplete="off" class="layui-input">
<input type="text" name="ename" lay-verify="required" placeholder="英文名*" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">排序</label>
<label class="layui-form-label">描述</label>
<div class="layui-input-inline">
<input type="text" name="desc" lay-verify="required" placeholder="描述*" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" lay-verify="required" placeholder="请填数字" autocomplete="off" class="layui-input">
</div>

View File

@ -1,7 +1,8 @@
{extend name="public/base" /}
{block name="title"}{$Request.param.ename|getCateName} - {$sysInfo.webname}-帖子列表{/block}
{block name="title"}{$Request.param.ename|getCateName}-{$sysInfo.webname}{/block}
{block name="keywords"}{$Request.param.ename|getCateName},{$sysInfo.webname}{/block}
{block name="description"}{$Request.param.ename|getCateDesc}{/block}
{block name="column"}{include file="/public/column" /}{/block}
{block name="content"}
@ -15,7 +16,7 @@
{volist name="artList" id="art"}
<li>
<a href="{:url('user/home',['id'=>$art.user.id])}" class="fly-avatar">
<img src="{$art.user_id|getUserImg}" alt="{$art.user_id|getUserName}">
<img src="{$art.user.user_img}" alt="{$art.user.name}">
</a>
<h2>
<a class="layui-badge">{$art.cate.catename}</a>
@ -92,6 +93,7 @@
</div>
</div>
</div>
{/block}
{block name="script"}
<script>

View File

@ -44,7 +44,7 @@
<span class="fly-list-nums">
<a href="#comment"><i class="iconfont" title="回答">&#xe60c;</i> {$comments->count()} </a>
<i class="iconfont" title="人气">&#xe60b;</i> {$article.pv}
<i class="iconfont" title="人气">&#xe60b;</i> {$pv}
</span>
</div>
<div class="detail-about">
@ -220,7 +220,6 @@
</div>
</div>
{/block}
{block name="script"}
<script>
$(function() {

View File

@ -2,7 +2,7 @@
{block name="title"}{$sysInfo.webname}-{$sysInfo.webtitle}{/block}
{block name="keywords"}{$sysInfo.keywords}{/block}
{block name="description"} {$sysInfo.descript}{/block}
{block name="description"}{$sysInfo.descript}{/block}
{block name="column"}{include file="public/column" /}{/block}
{block name="content"}

View File

@ -5,8 +5,8 @@
<a href="/">首页</a>
</li>
{volist name="cateList" id="cate"}
<li {if condition="$cate.catename eq getCateName($Request.param.ename)"} class="layui-this" {/if}>
<a href="{:url('article/cate',['ename' => $cate.ename])}">{$cate.catename}{if condition="$cate.id eq 3"}<span class="layui-badge-dot"></span>{/if}</a>
<li {if condition="$cate.ename eq $Request.param.ename"} class="layui-this" {/if}>
<a href="{:url('article/cate',['ename' => $cate.ename])}">{$cate.catename}{if condition="$cate.is_hot eq 1"}<span class="layui-badge-dot"></span>{/if}</a>
</li>
{/volist}
<li class="layui-hide-xs layui-hide-sm layui-show-md-inline-block"><span class="fly-mid"></span></li>