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服务,关于它的现状和当下的不足.他向 ...
随机推荐
- C艹 指针和const的关系和注意事项(非常有意思)
有两种不同的形式将const关键字指向指针. 第一种:让指针指向一个常量对象 const float g_moon = 1.63; float * pm = &g_moon; // 不允许 n ...
- 【转】【VS Code】配置文件Launch及快捷键
Ctrl+shift+p,然后输入launch,点击第一个选项即可配置. 之后选择More即可 具体配置可修改为: { "version": "0.2.0", ...
- (笔记)Linux下的静态库和动态库使用详解
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静态库和动态库的区别 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比 ...
- http 状态码 40x
400 无法解析此请求. 401.1 未经授权:访问由于凭据无效被拒绝. 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝. 401.3 未经授权:访问由于 ACL 对所请求 ...
- jQuery table td可编辑
参考链接: http://www.freejs.net/ http://www.freejs.net/article_biaodan_34.html http://www.freejs.net/sea ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
- Xianfeng轻量级Java中间件平台:属性管理、字典管理
属性管理:主要功能是维护一些系统定义的.业务定义的属性数据,至于属性是什么,简单的说就是由键key和值value组成的数据,属性查询列表页面如下: 表格实现了直接编辑的功能 字典管理:主要功能是维护一 ...
- CURL 常用参数
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具. 1.查看响应头信息: -I :显示http response的头信息. [root@l ...
- par函数mgp 参数-控制坐标轴的位置
mgp 参数的值为长度为3的一个向量,默认值为 c(3, 1, 0); 3个数值控制的元素不同 1) 第一个数值:3, 控制xlab 和 ylab的位置 示例用法: par(mfrow = c(1, ...
- php foreach 传值还是传引用
From: http://my.oschina.net/guomingliang/blog/215457 php 中遍历一个array时可以使用for或foreach,foreach的语法为:fore ...