登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
9月21日,源创会西安,聊聊大模型技术与产业应用
代码拉取完成,页面将自动刷新
开源项目
>
建站系统
>
CMS建站系统
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
226
Star
997
Fork
434
欧福
/
ofcms
代码
Issues
16
Pull Requests
0
Wiki
统计
流水线
服务
Gitee Pages
JavaDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
更新失败,请稍后重试!
Issues
/
详情
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
CMS的“栏目管理”中修改“是否显示”的bug!
已完成
#ILKW6
luoyafeng
成员
创建于
2018-07-26 15:24
### **案例:** 1. 将栏目管理中的一个栏目设置为“不显示”。 ![设置为“不显示”](https://images.gitee.com/uploads/images/2018/0726/144904_11010819_1576753.png "屏幕截图.png") 2. 去前台页面查看效果,发现该“联系我们”依然存在。 ![“联系我们”依然存在](https://images.gitee.com/uploads/images/2018/0726/145138_bf78e7b3_1576753.png "屏幕截图.png") 3. 查看代码发现,前后台查询的sql语句为 **同一条** 。原sql语句为: ofcms\ofcms-admin\src\main\resources\conf\sql\cms\column.sql ``` #sql("query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc #end #end ``` 4. 通过sql语句我们发现,查询条件中并未设置有“t.is_show = '1”。即是否显示的状态为1(1为显示,0为不显示); ### ** 解决思路:** 1. 再添加一条sql语句为“cms_query”并修改“query”的sql。其中“query”的sql语句为 **前台界面** 查询所用,即添加查询条件“t.is_show = '1”;“cms_query”的语句为 **后台cms** 查询所用,不添加“is_show”的条件即则原sql语句查询。具体sql语句为: ``` #sql("query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) and t.is_show = '1' #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc ,t.up_column_id asc #end #end #sql("cms_query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc ,t.up_column_id asc #end #end ``` 2. 再将\ofcms\ofcms-admin\src\main\java\com\ofsoft\cms\admin\controller\cms\ColumnController.java里menu方法修改为如下: ``` public void menu() { Map<String, Object> params = new HashMap<String, Object>(); params.put("site_id", SystemUtile.getSiteId()); **List<Record> list = Db.find(Db.getSqlPara("cms.column.cms_query", params));** List<TreeGird> result = SystemUtile.tree(list, parent); rendSuccessJson(result); } ``` 3. 重启tomcat,发现前台首页界面的“联系我们”消失了。 ![“联系我们”消失了](https://images.gitee.com/uploads/images/2018/0726/152234_015e8934_1576753.png "屏幕截图.png")
### **案例:** 1. 将栏目管理中的一个栏目设置为“不显示”。 ![设置为“不显示”](https://images.gitee.com/uploads/images/2018/0726/144904_11010819_1576753.png "屏幕截图.png") 2. 去前台页面查看效果,发现该“联系我们”依然存在。 ![“联系我们”依然存在](https://images.gitee.com/uploads/images/2018/0726/145138_bf78e7b3_1576753.png "屏幕截图.png") 3. 查看代码发现,前后台查询的sql语句为 **同一条** 。原sql语句为: ofcms\ofcms-admin\src\main\resources\conf\sql\cms\column.sql ``` #sql("query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc #end #end ``` 4. 通过sql语句我们发现,查询条件中并未设置有“t.is_show = '1”。即是否显示的状态为1(1为显示,0为不显示); ### ** 解决思路:** 1. 再添加一条sql语句为“cms_query”并修改“query”的sql。其中“query”的sql语句为 **前台界面** 查询所用,即添加查询条件“t.is_show = '1”;“cms_query”的语句为 **后台cms** 查询所用,不添加“is_show”的条件即则原sql语句查询。具体sql语句为: ``` #sql("query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) and t.is_show = '1' #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc ,t.up_column_id asc #end #end #sql("cms_query") select t.column_id, t.site_id, t.column_code, t.up_column_id, t.form_id,f.form_name, t.column_name, t.column_english, t.template_path, t.column_desc, t.content_url, t.column_content, t.column_image, t.column_index_page, t.column_list_page, t.column_content_page, t.is_show, t.sort, t.create_time, t.upate_time, t.status, t.remark from of_cms_column t left join of_cms_form f on t.form_id = f.form_id where t.status = '1' and t.site_id = #para(site_id) #if (column_name?? ) and t.column_name = #para(column_name)#end #if (sort?? && field) order by order_field order_sort #else order by t.sort asc ,t.up_column_id asc #end #end ``` 2. 再将\ofcms\ofcms-admin\src\main\java\com\ofsoft\cms\admin\controller\cms\ColumnController.java里menu方法修改为如下: ``` public void menu() { Map<String, Object> params = new HashMap<String, Object>(); params.put("site_id", SystemUtile.getSiteId()); **List<Record> list = Db.find(Db.getSqlPara("cms.column.cms_query", params));** List<TreeGird> result = SystemUtile.tree(list, parent); rendSuccessJson(result); } ``` 3. 重启tomcat,发现前台首页界面的“联系我们”消失了。 ![“联系我们”消失了](https://images.gitee.com/uploads/images/2018/0726/152234_015e8934_1576753.png "屏幕截图.png")
评论 (
0
)
luoyafeng
创建了
任务
luoyafeng
更新了
任务
欧福
指派了任务给
王雪峰
欧福
添加协作者:
firechou
luoyafeng
修改任务状态为
进行中
luoyafeng
修改任务状态为
待办的
欧福
修改任务状态为
已完成
登录
后才可以发表评论
状态
已完成
待办的
进行中
已完成
已关闭
负责人
未设置
王雪峰
wangxfsh
负责人
协作者
+负责人
+协作者
firechou
firechou
负责人
协作者
+负责人
+协作者
标签
未设置
标签管理
里程碑
未关联
未关联
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (4)
标签 (3)
master
develop
v1.0
v1.1
V1.1.3
V1.1.2
V1.1
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(2)
Java
1
https://gitee.com/oufu/ofcms.git
git@gitee.com:oufu/ofcms.git
oufu
ofcms
ofcms
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册