CMS4.0——后知后觉
前言:
2016年底,自己作为参与者加入CMS3.0的改版中;2017年中,CMS4.0在经过一个月有余的时间,华丽丽的蜕变成现在大家喜闻乐见的:http://news.gangguwang.com/;于是乎,又到了该总结的时候了……

曲径:
由于是分模块进行的,因此每个人所做功能不尽相同、遇见的问题却大径相同。对此,稍作总结之……
前台:
因为是改版,也就是在在之前的基础上增加新的内容,亦或是将之前不太合理的需求修改一下。于是在前台项目中,主要的问题就存在于:


后台:
主要在文章编辑排版页面以及诸多文章使用同一模板出现的不兼容问题上。
幽处:
1.对于分地区搜索,其实用到的主要还是sql语句:在article表中存在字段cids,存储的数据格式为以逗号隔开的数字,数字便代表着城市id。点击某个城市,然后通过sql语句查询到属于该地区的文章,如果没有数据,则查出全国(cid=-1)的数据。
看这段代码:
let sql = "select count(1) as counts from article where(isDelete=0 and (cids="+cid+" or cids like '%,"+cid+",%' or cids REGEXP '^$"+cid+",' or cids REGEXP ',"+cid+"$' or cids like '%-1%') and state=0 and url<> '') and (type="+type+" or type in (select id from channel where pid="+type+" and channel.id<>76))";
其中红色部分,便是实现此功能的核心。
2.对于地图,则是耗费了很多时间在处理数据上:
①market表中有数不胜数的行情数据,但是需求上要求找出今天、昨天、五天前、20天前的数据,这个……
let sql = "SELECT FROM_UNIXTIME(priceTime, '%Y-%m-%d') cdate FROM market GROUP BY cdate ORDER BY cdate DESC LIMIT 3";

原来高手是这样思考的:

FROM_UNIXTIME(priceTime, '%Y-%m-%d') :将数据按照priceTime以‘yy-mm-dd’的格式分组查询出来,得到的结果(res)为一个数组,则res[0]则为今天的数据,res[1]为昨天的数据,以此类推;
②拼接地图下面的excel表格:
循环,便是实现此功能的核心。
function aa() {
var values={西安:10,兰州:12,成都:6,重庆:8,乌鲁木齐:8,昆明:9};
var contentstr = "<table><thead><tr><th>价格</th><th>西安</th><th>兰州</th><th>成都</th><th>重庆</th><th>乌鲁木齐</th><th>昆明</th></tr></thead><tbody>";
for(var key1 in values){
var trstr="<tr><td>"+key1+"</td>";
for(var key2 in values){
trstr+="<td>"+(values[key1]-values[key2])+"</td>";
}
trstr+="</tr>";
contentstr += trstr;
}
return contentstr +="</tbody></table>"
};
aa();

1.给chosen-select 多选赋值:(多选赋值,需要将值放在数组中,并且chosen-select需要重新trigger一下,才会给其绑定上值)
$("#platform").val([1,2]);//1:布谷资讯 2:业务GO
$("#platform").trigger("chosen:updated");
……
后言:
每每遇见新的事情时,总会先让“hard”思维先入为主,以至于后面工作不能顺利开展,但是直到完成后再回过头来想想,原来一切并非像想象中的那么难,好好调整心态~
CMS4.0——后知后觉的更多相关文章
- php 后知后觉
1.$this :动态调用,指当前对象 通过一个例子,说明一下我当时的心理历程: /** * 父类 */ class A { function show() { echo $this->msg( ...
- Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面
Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...
- mac版chrome升级到Version 65.0.3325.18后无法打开百度bing搜狗
mac版本chrome升级到Version 65.0.3325.18后发现突然无法访问百度,搜狗,bing,神马等一系列的国内搜索引擎网站.连百度的儿子们比如知道,百度百科都无法访问. 1.首先想到的 ...
- cocos2d-x 2.0.2升级后某些函数变化(转)
最近看cocos2d-x 2.0.2发布后升级了一下,升级后发现又出现了很多错误,原来有一些地方的代码用法改变了.在修改代码的过程中,简单做了一些记录,当做是一个备忘录. 1.CCScene和CCLa ...
- windows 7 IIS 7.0 装好后,HTTP Error 503. The service is unavailable.
IIS 7.0 装好后,出现 以上问题. 解决办法,如下图,设置应用程序池 ,
- Android Studio升级到0.8.1后怎样设置字体大小?
升级到0.8.1后.打开设置字体大小页面.你会发现无论是Default还是Darcula,都不同意你改变字体的大小.事实上这个是由于这两个模式是Android Studio自带模式,所以不同意你修改, ...
- KiCad 5.1.0 镜像圆弧后错位问题
KiCad 5.1.0 镜像圆弧后错位问题 看官方回复这个问题将在 5.1.3 进行修复,因为这段时间在举行 KiCon 活动. 看到这个问题并不是非常严重,不是致命的,所以已经从 5.1.0 跳到 ...
- Django3.0中向后不兼容的更改
3.0中向后不兼容的更改 数据库后端API 本节描述了第三方数据库后端中可能需要的更改. 现在的第二个参数DatabaseIntrospection.get_geometry_type()是行描述,而 ...
- 关于Node.js后端架构的一点后知后觉
前言 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足.他向 ...
随机推荐
- html传值及接收传值
传值:url?para1=value1¶2=value2 接收传值: <script type="text/javascript"> function ...
- 高斯分布与Gamma分布关系
https://math.stackexchange.com/questions/1917647/proving-ex4-3%CF%834
- C++视频课程
一.视频课程 课程名称:C++学习教程 程序设计 C++基础教程 授课人:郭宏志 课程链接:http://study.163.com/course/courseMain.htm?courseId=63 ...
- 【转】WPF查找子控件和父控件方法
一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type ty ...
- ibatis中 $ 于 # 的 区别?
转自: http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html 一个项目中在写ibatis中的sql语句时,where use ...
- HttpClient后台post 请求webapi
1.请求方法 /// <summary> /// httpClient 请求接口 /// </summary> /// <param name="url&quo ...
- Linux下yum命令详解
yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题yum特点 可以同 ...
- Java多线程(九)之ReentrantLock与Condition
一.ReentrantLock 类 1.1 什么是reentrantlock java.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 ...
- 微信支付id出现的重复支付解决方法和app应用中多种支付方式之间的对比
1.微信支付的transId发起支付请求,未登录微信,先帐号登陆,否则直接去支付.这样的话,该transId跟该帐号绑定起来了, 如果下一次再重新使用该transId来支付请求,但是想切换其他的微信帐 ...
- [Err] 1231 - Variable 'sql_mode' can't be set to the value of 'NULL
在MYSQL还原语句的时候,报: [Err] - Variable 'sql_mode' can't be set to the value of 'NULL 解决办法:打开SQL语句,把里面的注释给 ...