前言:

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——后知后觉的更多相关文章

  1. php 后知后觉

    1.$this :动态调用,指当前对象 通过一个例子,说明一下我当时的心理历程: /** * 父类 */ class A { function show() { echo $this->msg( ...

  2. 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.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  3. mac版chrome升级到Version 65.0.3325.18后无法打开百度bing搜狗

    mac版本chrome升级到Version 65.0.3325.18后发现突然无法访问百度,搜狗,bing,神马等一系列的国内搜索引擎网站.连百度的儿子们比如知道,百度百科都无法访问. 1.首先想到的 ...

  4. cocos2d-x 2.0.2升级后某些函数变化(转)

    最近看cocos2d-x 2.0.2发布后升级了一下,升级后发现又出现了很多错误,原来有一些地方的代码用法改变了.在修改代码的过程中,简单做了一些记录,当做是一个备忘录. 1.CCScene和CCLa ...

  5. windows 7 IIS 7.0 装好后,HTTP Error 503. The service is unavailable.

    IIS 7.0 装好后,出现 以上问题. 解决办法,如下图,设置应用程序池 ,

  6. Android Studio升级到0.8.1后怎样设置字体大小?

    升级到0.8.1后.打开设置字体大小页面.你会发现无论是Default还是Darcula,都不同意你改变字体的大小.事实上这个是由于这两个模式是Android Studio自带模式,所以不同意你修改, ...

  7. KiCad 5.1.0 镜像圆弧后错位问题

    KiCad 5.1.0 镜像圆弧后错位问题 看官方回复这个问题将在 5.1.3 进行修复,因为这段时间在举行 KiCon 活动. 看到这个问题并不是非常严重,不是致命的,所以已经从 5.1.0 跳到 ...

  8. Django3.0中向后不兼容的更改

    3.0中向后不兼容的更改 数据库后端API 本节描述了第三方数据库后端中可能需要的更改. 现在的第二个参数DatabaseIntrospection.get_geometry_type()是行描述,而 ...

  9. 关于Node.js后端架构的一点后知后觉

    前言 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足.他向 ...

随机推荐

  1. tensorflow 模型前向传播 保存ckpt tensorbard查看 ckpt转pb pb 转snpe dlc 实例

    参考: TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式 TensorFlow 模型保存与恢复 snpe tensorflow 模型前向传播 保存ckpt  tensor ...

  2. (笔记)Linux Root下的.gvfs出现异常解决办法

    在linux系统下安装软件或复制文件的时候,复制不成功,出现错误如下: error: failed to stat /home/dade/.gvfs: Permission denied. 表面上看: ...

  3. android 8 wifi wifi 扫描过程

    查看一下android wifi扫描的过程. packages\apps\Settings\src\com\android\settings\wifi\WifiSettings.java public ...

  4. Hive Beeline 官方文档学习

    Beeline 是什么? 它是一个命令行形式的jdbc客户端.搞Java开发的同学,看到这里就应该知道这货是什么了 ── 它是一个连接数据库的工具. 只不过Beeline连接的数据库是HiveServ ...

  5. Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)

    一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...

  6. Java如何显示线程状态?

    在Java编程中,如何显示线程状态? 以下示例演示如何使用Thread类的isAlive()和getStatus()方法显示线程的不同状态. package com.yiibai; class MyT ...

  7. Spring JDBC NamedParameterJdbcTemplate类示例

    org.springframework.jdbc.core.NamedParameterJdbcTemplate类是一个具有基本JDBC操作的模板类,允许使用命名参数而不是传统的’?‘占位符. 这个类 ...

  8. Swing用于开发Java应用程序用户界面

    Swing是一个用于开发Java应用程序用户界面的开发工具包. 以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格. Swing开发人员只用很少的代码就可以利用Swing丰富 ...

  9. Mac环境下配置tomcat的步骤详解

    前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接T ...

  10. OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法

    OpenOffice版本:4.0(Windows.Linux下测试都出现问题) MS Office版本:2007 问题描述 使用OpenOffice将MS的docx文件转换为pdf文件时,docx文件 ...