一聚教程网:一个值得你收藏的教程网站

热门教程

PHPCMS V9开发应用中常见问题总结

时间:2022-06-25 16:25:23 编辑:袖梨 来源:一聚教程网

文章列表页不出现传的文章

 代码如下 复制代码

content action="lists" catid="$catid" num="7" order="listorder DESC" thumb="1" moreinfo="1"}

默认的后台代码thumb=”1″,但是当没有缩略图时,列表如果加入了图片循环,则不会循环出内容,所以应改为thumb=”$thumb”。

 代码如下 复制代码


{php list($copyfrom) = explode('|', $r['copyfrom'])}
{php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; }

加入这2行则可以在列表页输出来源及点击数。

PHPCMS V9整合的百度编辑器的图片水印开关无效,如果站点开启了水印功能,则复制到编辑器的图片全部强制加水印(尚无解决方法)

分页样式自定义
大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcmslibsfunctionsglobal.func.php里的pages()函数,这样问题就来了:这个分页函数连后台也会影响到的,就是说,这个分页函数是全站共用的。
下面提供解决方法:(这个得修改文件,修改前记得备份)
打开
phpcmslibsfunctionsglobal.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存。

打开

 代码如下 复制代码
phpcms/libs/classes/template_cache.class.php,找到207行的
$str .= ‘$pages = pages($’.$op.’_total, $page, $pagesize, $urlrule);’;
在这行的下面加上
$str .= ‘$wz_pages = wz_pages($’.$op.’_total, $page, $pagesize, $urlrule);’;

保存。

最后,如果你要使用你自定义的分页函数,那么在模板中直接用{$wz_pages}就可以了、、

以后要修改样式,直接修改
phpcmslibsfunctionsglobal.func.php这个文件中的wz_pages函数就可以了,不会影响到后台

我的表达能力就只有这些了,看不懂的,回贴吧、、

后续优化:

使用过程中,发现使用SQL分页的不能正常使用,得再添加如下代码

打开

 代码如下 复制代码
phpcms/libs/classes/template_cache.class.php,找到178行的
$str .= ‘$r = $get_db->sql_query(“‘.$sql.’”);$s = $get_db->fetch_next();$pages=pages($s['count'], $page, $pagesize, $urlrule);’;
在他下面增加:
$str .= ‘$r = $get_db->sql_query(“‘.$sql.’”);$s = $get_db->fetch_next();$wz_pages=wz_pages($s['count'], $page, $pagesize, $urlrule);’;

这样,SQL的分页也正常了、、嘿嘿,欢迎拍砖、不拍的,你得顶啊~~

再次后续优化:

有朋友提到,会员中心的收藏列表分页不能使用上面的办法。
因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的
下面提供修改办法:
具体是
phpcmslibsclassesmodel.class.php  61行

 代码如下 复制代码
$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
把上面这行修改成:
$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
(模板中的{$pages}不用改为{$wz_pages})

上面是第一种办法。
不过这样子的话,可能后台也会影响到了,这个地方好像是控制好多地方的
也可以这样修改,还是上面那个文件,61行不要修改。直接在61行下面添加:

 代码如下 复制代码
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
再去到:phpcmsmodulesmemberindex.php 718行
把 $pages = $this->favorite_db->pages;
修改为:
$wz_pages = $this->favorite_db->wz_pages;

模板中的{$pages}要修改为{$wz_pages}

这是以收藏列表为例子,其他的也大同小异了、、

 

图片上传问题
百分之八十是路径经过了修改,默认站点的路径修改80%会出现JS失效或者上传文件夹权限不够。所以最好在开发是使用新建站点,方便路径的修改来转移文件到服务器上,caches/system.php的app_path路径可能是问题所在。

举个栗子

将图片的js、images、css路径转移到CDN上了,且APP_PATH路径也对了。上传附件的时候就出现了 “服务器安全认证错误”的提示。 找到文件phpcms/modules/attachment/functions/global.func.php  其中的initupload函数有以下几行:

 代码如下 复制代码
swfu = new SWFUpload({flash_url:”‘.FLASH_UP_PATH.’swfupload/swfupload.swf?”+Math.random(),upload_url:”‘.APP_PATH.’index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1″,file_post_name : “Filedata”, 其中FLASH_UP_PATH 原为 JS_PATH  我在base.php中重新定义的常量: define(‘FLASH_UP_PATH’, APP_PATH.’statics/js/’);

这里把引用上传组件的路径写死了,改了JS_PATH 这里必定影响,下一行可以见到 APP_PATH ,这也就是为什么很多解答都说APP_PATH必须和js、images、css路径必须一致了 这里的解决方法的好处就是上传的js组件引用本站的,其他的js随意放在什么地方。(将APP_PATH改为定死的站点目录,可暂时解决问题)
 

工作流修改(即审核功能)
设定好工作流的用户同时,请同时修改所要使用该工作流的栏目的设置,要不然你会很郁闷的

上传图片的剪切功能介绍

 

点完确定即可,所以请注意图片美观。
专题文章上传
tu3tu4tu5
tu6

 专题文章列表的后台代码技术的自己去查之前的专题源码

关于PHPCMS v9的全站搜索模块

默认的搜索代码是分类搜索,要将其改为全站搜索,具体修改的代码请自行去查看服务器上的源码

 

热门栏目