25

织梦图集模型增加数据类型为“HTML文本”的自定义字段 发布着色内容出错

织梦二次开发,一是让系统更适合自己,为我所用;二是没有绝对完美的东西,修改它的BUG。

织梦图集模型增加数据类型为“HTML文本”的自定义字段 发布着色内容出错,表面上看是这样的,但实现上是在打开修改图集内容页时的返回值出错,再准确一点说,是HTML文本在修改查看时被过滤了一次而出错(把原来的<span style…替换成了<span x=”">yle…)。

dede_addonimages数据表中是正确的

dede_addonimages数据表中是正确的

20150625035610 20150625035643

因为在发布完图集内容后,我查看数据表dede_addonimages数据内容,是正常并正确的。所以问题就不是出在发布的环节,也没必要研究/dede/album_add.php这个文件了(之前我走了弯路)。

(到这一步之前也走了一些弯路)那么现在就来研究/dede/album_edit.php这个文件,发现是$addRow=XSSClean($addRow);这句在作怪,注释掉,OK!

20150625041905

整个56行$arcRow=XSSClean($arcRow);$addRow=XSSClean($addRow);都可以注释掉。之所以说这行都可以注释掉是因为在文章模型的修改文档文件(/dede/archives_edit.php)中就没有这各方法过滤,根本就没有出现XSSClean()方法。

其它,那个过滤规则最终是指向\include\helpers\filter.helper.php的RemoveXSS方法的,没去细研究。

天亮了,睡了……

24

HTML5+JavaScript实现仿微信摇一摇效果

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

事件监听

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo.html

把监听事件绑定给 deviceMotionHandler

获取设备加速度信息 accelerationIncludingGravity

将加速度信息打印置页面,通过演示地址可以看到随着设备的移动,屏幕上数字的变化。

 

摇晃判断

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_1.html

“摇一摇”的动作既“一定时间内设备了一定距离”,因此通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,即可进行设备是否有进行晃动的判断。而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。

100毫秒进行一次位置判断,若前后x, y, z间的差值的绝对值和时间比率超过了预设的阈值,则判断设备进行了摇晃操作。

 

然后通过上面2个演示,然后再增加点样式效果,即可模拟一个简单的微信摇一摇界面。

应用演示:简易模拟微信摇一摇

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_2.html

21

使用itemindex或autoindex实现织梦频道页、列表页显示文章顺序编号

使用织梦内容管理系统建站,想在频道页或列表面显示文章顺序号、隔行变色、每五行一个小区块儿等等效果,这个功能就要大显伸手了。之前我也总结过一些关于织梦标签的调用方法手册,可以直接做为工具页来直接复制。

列表页使用方法:

织梦列表页隔行换色(可以通过写the和that两类的样式来实现不同背景色):

可以使用在dede:arclist和dede:list下,使用的织梦列表页另一种方法(显示自然顺序标号):

频道页使用方法:

大体意思就是这样,至于加在什么位置,就自己选吧!

织梦默认的搜索页不支持autoindex标签,需要修改核心文件增加支持:

找到文件:include/arc.searchview.class.php

第一处:

第二处:

20

dedeCMS数据库操作类中$dsql的使用方法与实例

dedecms二次开发中对数据库操作类的使用尤为重要,下面是对数据库操作类的一些简单说明和实例。

引入common.inc.php文件

查询某表是否存在,存在返回TRUE,否则返回FALSE

获取一条记录的内容

将查询获取总数输出

将查询的若干条记录输出

将查询的若干条记录输出dedecms5

插入一条记录

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

删除一条记录

更新一条记录

判断获取数据库内容的常用方法

获取总数

关闭数据库

实例 Continue reading

17

织梦5.7使用图片集模型上传图片弹出框显示302不能上传图片

织梦5.7在栏目使用图片集模型时,后台单张上传或多张同时上传,会出现302,并且上传图片失败。

解决方案:

织梦程序根目录/include/userlogin.class.php
session();的上面增加以下几行即可(如下图):

织梦上传图片弹出302

代码如下,复制粘贴即可:

注意:在编辑代码时使用专业代码工具,不要使用记事本工具,防止出错!

15

本地win7下使用phpStudy集成环境配置IIS7+PHP+phpMyAdmin+MySQL(20151102更新)

错误提示信息:
install/remove of the service denied
#2002 无法登录 MySQL 服务器
错误1053 服务没有及时响应启动或控制请求

弄了一宿,真的很难很难呀!转着很大的圈儿,疯了疯了!

前些年一直在用wamp,操作简单,本地调试单个网站足够用了。从今年年初开始使用了phpStudy集成环境,PHP版本多,用着还不错。

最近帮人改一个asp源码样式,需要本地测试,结果安装上了IIS。可昨天闲着没事,实然想起这phpStudy也可以把IIS与PHP集成的功能,弄上了是一个问题接着一个问题,自己还不想放弃。

系统:wid7 IIS7.x 买好几年了,配置过时了但还不舍。
环境:phpStudy集成环境(2014版集合24种环境自由选择)

win7下安装IIS是傻瓜式安装,网上方法多的是,就不说了,我也没碰到问题;

配置PHP模块:

手动配置cgi模式(php5.4/5.3)
1.创建并配置php.ini,同上2。
2.打开IIS7,在主面板中双击处理程序映射,然后在右侧菜单中点击“添加模块映射…”(之前我就添加错了,添加的脚本映射),设置如下:
请求路径:*.php;
模块:FastCgiModule;
可执行文件:php文件夹中的php-cgi.exe;
名称:php;
3.完成!
(还有其它方法,但我认为这是最方便的)
建立站点,在根目录新建info.php测试文件,内容为<?php phpinfo(); ?>,测试是否成功。

配置MySQL:

将MySQL 添加到服务中。
在C:\Windows\System32\文件夹下找到cmd.exe,右键单击cmd.exe, 选择“以管理员身份运行”(或“Run as administrator”),窗体左上角显示“管理员:C:\…”,进入路径(这是我的路径,你的路径我就不知道了,哈哈): d:\tool\phpStudy\mysql\bin>
输入 mysqld –install MySQL –defaults-file=”C:\Windows\my.ini”
如果提示:Service successfully installed.
说明MySQL服务已经添加系统服务成功。
如果提示:install/remove of the service denied
可能是你没有使用管理员身份运行cmd.exe

***************************************

2015 年11月,由于本人笔记本用得比较狠,前几天突然卡死(蓝屏),提示是硬盘出现问题,但是用DELL自身的硬件检测,并没有发现任何问题,可是由于数据很 重要,而且之前在使用中也时不时的出现“无响应”现象,所以果断决定换个固态硬盘太小的真的没意义呀,还不如多花点钱买个差不多的,所以在某宝上买了个镁 光480G的,不是最贵最好的,但是从各方面看,适合我,1000元、存储空间正好。

换了硬盘就得重做系统,硬盘来的时候是让老板给做得系统,windows10,还怕我电脑带不了呢,回来接上试用还可以,各方面都没有不兼容的现象发生,这点很满意。

新系统,我这配置本地测试环境得折腾个把月的,才能完全的配置好,并且适应在新环境下的工作。

使用集成环境相对的好配置一些,使用phpStudy很长时间了,直到刚才才知道phpStudy有集成的IIS+MySQL环境,但是晚了,而且想想,如果不用集成的IIS还是不用得好。

这次到了把MySQL服务配来系统服务这步卡住了(1067错误),合着是卡了有两天了。反正到现在是弄好了,具体是什么原因、怎么弄好的,我也说不清。

昨天安装完MySQL服务后不好使,我也再删再安了几次,都没有好。今天只是把昨天安装的windows功能给删除重新安了一次后,删除MySQL服务后,又安装MySQL服务,就好了。

还忘说了些事,也可能是很重要的,我今天把my.ini文件放到c:\windows\目录下了,所有有很多文章和方法,但是都没有说这一点,也不知道是用不着呀?还是都是照一个人抄的。切记切记!!!

还是以管理员身份打开cmd.exe,目录到d:\tool\phpStudy\mysql\bin>

删除MySQL到系统服务中的方法:mysqld -remove

安装MySQL到系统服务中的方法:mysqld -install

***************************************

cmd的一些命令(不区分大小写):
输入 d: 按回车,直接进入D盘;
输入 cd tool\phpStudy\mysql\bin 按回车,进入bin文件夹;
输入 cd\ 按回车,返回根目录,如D盘或C盘;
输入 cd.. 按回车,返回上一级目录;
输入 dir 按回车,显示当前文件夹内的文件夹和文件名。
(这些cmd命令够用了)

配置phpMyAdmin:

由 于phpStudy的IIS7/8+PHP5xx的phpMyAdmin的默认链接是http://localhost:8980/phpmyadmin /index.php,所以现在在IIS中建立站点,端口是8980,路径为D:\tool\phpStudy\WWW\。
要注意的是一定要把WWW做为些站点的根目录,phpmyadmin为站点的一级目录。

说到这里,如果正常的话,就已经配置成功了。

说说我的一些错误:

(这 里是错误的方法)由于phpStudy的phpMyAdmin是在网站内部的,我就想着这回可以在IIS中给他单独建立站点(端口设置8080)就可以访 问了,于是乎错误就此开始了,倒是可以访问到http://localhost:8080/index.php,登录不进去,提示“#2002 无法登录 MySQL 服务器”,想一想,后来到网上搜了搜,发现是没有启动MySQL服务。

在配置MySQL时,最初我是没有用管理员身份打开cmd.php,我是直接在运行中输入cmd后进入的cmd窗体,可能是这个原因。在启动MySQL时报错:错误1053 服务没有及时响应启动或控制请求。

转 回头使用链接http://localhost:8080/index.php,还是无法连接MySQL,又是一阵搜,没什么好的结果。就想着在 phpStudy的配置项中找找原因,无意间点了下“MySQL管理器”,发现他的链接是http://localhost:8980 /phpmyadmin/index.php,我都蒙了,以为是我在IIS中建立站点的端口号怎么给写成8980了呢,查看一下,是8080,又一想是不 是之前使用Apache时建立的根目录站点的端口号是8980,查看几个,发现在没有。这下放心了,我可以直接在IIS中改端口号和路径,理论上通过了, 实际一改,成功了!!!

13

JavaScript常用函数收集

脑袋不好使就多记笔记,收集了一些比较常用的javascript函数,以备急用。

字符串长度截取

替换全部

清除空格

清除左空格/右空格

判断是否以某个字符串开头

判断是否以某个字符串结束

转义html标签

时间日期格式转换

判断是否为数字类型

设置cookie值

获取cookie值

加入收藏夹

设为首页

加载样式文件

返回脚本内容

清除脚本内容

Continue reading

10

jQuery DOM 元素方法index()方法获取值为-1,得不到正确的值

$(selector).index()获得第一个匹配元素相对于其同胞元素的 index 位置

不懂装懂,帮朋友修改一个JS效果(点击后不显示同胞元素),JQ方法功能也是现查的手册,测试index()返回值是-1,这一定是不正确了。

结果就是一阵的百度搜索,在开源中国的一篇文章中得到了启发:

$(".newsList dd").eq($(".newsTab dd.hover").index()).show();
修改为
$(".newsList dd").eq($(".newsTab dd").index($(".hover"))).show();

解释:

$(“.newsTab dd”)表示找到newsTab类下的所有的dd,返回一个dd的数组的对象;

后面的.index($(“.hover”))表示返回数组对象中的class为hover的对象的坐标。