phpcms V9更新到最新后评论审核出错解决方法

开门见山,这前几天更新了PHPCMS V9的最新后台程序(PHPCMS程序版本:Phpcms V9.2.4 Release 20121109),却不料发现评论审核无法通过.具体报错情况如图:

phpcms升级,评论审核出问题
phpcms升级,评论审核出问题

起了个乖,最早还不晓得什么回事.后来到处找也没找到原因,无奈上了官方论坛,找到了解决方案.具体修改方法如下:

  1. 找到后台系统phpcms\modules\comment\templates\comment_check.tpl.php文件
  2. 找到第33行
    	$.get('?m=comment&c=check&a=ajax_checks&id='+id+'&type='+type+'&commentid='+commentid+'&'+Math.random(), function(data){if(data!=1){if(data==0){alert('<?php echo L('illegal_parameters')?>')}else{alert(data)}}else{$('#tbody_'+id).remove();
    
    	$.getJSON('?m=comment&c=check&a=public_get_one&'+Math.random(), function(data){
    

    修改成

    	$.get('?m=comment&c=check&a=ajax_checks&id='+id+'&type='+type+'&commentid='+commentid+'&pc_hash='+pc_hash+'&'+Math.random(), function(data){if(data!=1){if(data==0){alert('<?php echo L('illegal_parameters')?>')}else{alert(data)}}else{$('#tbody_'+id).remove();
    
    	$.getJSON('?m=comment&c=check&a=public_get_one&'+'&pc_hash='+pc_hash+Math.random(), function(data){
    

    保存,然后进入后台进行测试,评论审核问题基本完美解决!(其实还有个BUG,就是除了管理员账户,其他权限账户还是报错- -…好吧那么就只有等待官方解决了.)

参考资料: 打了9.2.4补丁后,评论审核出错

phpcms单页面模板获取栏目数据翻页无效解决办法

不得不说有时候为了做一些很奇特的页面,或者说为了解决一些很蛋疼的功能,我们不得不做一些不正常的工作…比如,我把PHPCMS的单页面模板做成了一个读取某个限定条件类的文章列表.限定条件的字段已经添加到数据库内.编辑器中只要选中它属于哪一类即可,这里不多说.

发表相关思路之前先给大家看看效果,觉得还不错的,那么你可以继续看看 😆

PHPCMS单页面模板列表作弊
PHPCMS单页面模板列表作弊

那么既然是单页面模板,它就有个问题,这个问题就是,单页面模板内是不能使用翻页的功能的.起初我是不知道的,找了一些资料也没解决.那么我就只有想别的办法了.经过一番思索,我认为,可以仿照腾讯微博看到页面底部,自动无限刷新.那么代码的思路就是:

打开该页面获取指定数目的数据(比如20条) > 跟踪坐标当用户拖到页面底部触发事件(js) > 自动生成一段新的异步获取数据下一批数据的代码并更新当前坐标重新计算 > 循环.

继续阅读“phpcms单页面模板获取栏目数据翻页无效解决办法”

phpcms内容图片链接地址研究

说起研究这个东西,缘由是公司网站的服务器挂了,硬盘废了,花钱都修不了,至于原因是什么我也不知道.

那么,损失当然也是比较大的,除了我本地时不时有备份相关数据库,模板和其他资料,我本地当然不会备份图片,我没有相关权限.那么网站的图片就没了呗.好在网络部编辑都是将图片上传至另一个服务器上面,当然地址也是另一个服务器上的.

那么现在假设,我们的PHPCMS系统与服务器A上,图片实际上传地址为服务器B.

当前情况是,网站上面的所有文章图片全部都是先上传至服务器B,发布文章内容调用的是服务器B的绝对地址.然而发布文章之后PHPCMS系统竟然将图片全部转换了一遍.并存在了phpcms程序根目录的uploadfile目录内.文件名也全部重新生成了一份.正是因为如此,导致服务器挂了,图片也找不到了.因为从未备份过这个uploadfile目录,为了避免以后这种情况再次发生,于是我希望他不自动转换.

对于自动转换图片地址并存储在后台本地,对此我进行了多种猜测:

继续阅读“phpcms内容图片链接地址研究”

PHPCMS V9修改分页函数在当前页面翻页

大家在做网站的时候经常会用到<base target=”_blank” />这个代码,放在<head></head>内,这样默认情况下整个页面的所有超链接都会点击后自动开启新的标签或窗口来打开网址.的确方便了不少,然而,有些情况下比较特殊,我们不需要它开启新的窗口,要不然在早期电脑比较卡的时候,用户保留了窗口或标签不多开习惯,总要手动关闭很多窗口或标签,从用户体验上来说是及其不合理的.一般来说解决办法也很简单,只要给那个特殊的a标签加个target=”_self”就可以了.当然,今天我们要讨论的问题远没有这么简单,事实上当你研究后,觉得其实也是很简单的事情.
继续阅读“PHPCMS V9修改分页函数在当前页面翻页”

PHPCMS数据源功能使用注意事项

上次很抱歉的,上次写了一篇关于PHPCMS V9通过数据源生成代码调用至DISCUZ论坛上的方法<<PHPCMS利用数据源对网站数据调用至其他网站方法>>,但是后来发现有个问题,就是论坛上出现了一个链接地址的问题,经过大量搜索,无果,决定自己想办法解决.

首先说一下问题状况吧.

列表中的地址并非直接引用的外链数据源地址,而是

http://b.net/"http://h.net/6-8540-1.html/"

这又不像其他网站外链提示是否安全再进行正常访问,而这个地址是完全无法用的.我最早考虑的解决方案是因为论坛域名固定,那么长度固定,所以截取前面http://b.net/”这段,但是貌似后面有个双引号也是无法正常访问的.

这样我想到另一个方法,自动找到h.net,并且通过正则表达式判断html为结束段,PHP string方法很强大,都是可以用的,但是觉得这个方法太笨重了.写起来不容易.最终决定在网上找到好的办法,搜索了discuz外链不正确,discuz外链地址等关键字无果.唯一找到一个沾边的内容,说是修改include/discuzcode.func.php文件内function parseurl($url, $text)这个函数

但是,我试过了,完全是两码事,于是放弃了,我尝试发帖的时候外链试试,发现会自动添加[url][/url],是这在模版上加了个,但是HTML和BBS语言在不同的位置上也是不能用的,思考了很久,最后决定试试修改数据源的代码,很巧的事情发生了,我将数据源内的代码改成了

<h3>行业最新产品</h3>
{loop $data $k $v}
    <li>· <a href={$v[url]}>{$v[title]}</a></li>
{/loop}

注意,跟之前的不同,a标签内的双引号我去掉了,就成功了,论坛首页刷新一看,完全正常.至此这个问题就解决了.

PS:我也试过在数据源的这段代码内添加[url]当然这个是完全不成立的还是那句话,HTML是HTML,BBS CODES是BBS CODES…