kesion科讯默认的上一篇、下一篇的标签为{$GetNextArticle} {$GetPrevArticle} ,输出的样式仅仅为a href+标题,不能自定义样式,下面我们就通过修改代码来修改样式
打开KS_Cls/Kesion.Label.BaseFunCls.asp 文件,找到 函数名:ReplacePrevNext,大约261行
首先鄙视一下Kesion系统不支持模板判读语句和循环语句,这个在PHPCMS中就完全不是问题,但是无奈PHPCMS需要独立数据库,配置和转移也麻烦,这点上KesionCMS有绝对优势。
关于kesion科讯当前文章高亮是不能用系统函数标签的,因为系统函数标签循环体中无法获取到当前文章ID,所以只能用SQL标签。
解决办法直接看代码:
查询语句: select ID,Tid,Title from KS_Article where Tid='{$Param(0)}' order by id desc
APMserv 5.2.6默认的PHP版本为5.2.6,而像ThinkPHP所需要的PHP最低版本为5.3,那么我们就要升级这个PHP版本。
首先下载:http://windows.php.net/downloads/releases/archives/php-5.3.28-Win32-VC9-x86.zip
Iphone5S(A1528) IOS10.1 移动4G破解使用方法:
首先在cydia安装威锋和Chinasnow的源,
phpcms v9自带的相关文章模块不支持order排序,调用的相关文章默认为升序,这样就造成了一个问题,调出来的相关文章是最早的文章,没有时效性。我们只能通过修改程序文件,不过还好,只需简单修改一个文件,就能达到我们的需求。
因为网站更换域名了,做了301重定向,在网站后台修改了JS路径,CSS路径 IMG路径,
但是上传附件或图片时就出现了“服务器安全认证错误”,
在后台也没有修改的地方!
因为app_path没有修改,导致app_path的值跟前面几个值不一致。所以上传图片的时候,会提示“服务器安全认证错误”。
解决方法是通过修改“caches/configs/system.php”的app_path的路径。
先来看个效果,假如我们要在文章内容页实现以下时间样式:
先上效果图片:
这个效果难倒了不少站长,下面介绍:文章列表日期格式化年月日分离显示方法。
1、自定义SQL标签实现方法:
其实使用SQL标签很容易实现,需要了解日期输出格式的含义:如YYYY-MM-DD 表示 年(四位数)-月(两位数)-日(两位数)
日期支持标签:YYYY:年(4位) YY:年(2位) MM:月 DD:日 hh:时 mm:分 ss:秒
了解这些后,
只输出年:{$Field(adddate,Date,YYYY)} 前台显示:2016
只输出月:{$Field(adddate,Date,MM)}
前台显示:05
只输出日:{$Field(adddate,Date,DD)}
前台显示:03
实现上图的效果的标签代码为:
最近更换了Win7 64位系统,安装IIS后,部分Asp程序获取时间格式错误,总是显示800a000d错误,原因是win7默认的时间格式为2016/12/23 星期五 9:49:41,而Asp需要的时间格式为2016-12-23 9:50:28。
我们可以通过更改注册表来解决这个问题:
打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\International],然后
1、将键 sDate 的值由 / 改为 -
解决的办法,在phpcms\libs\functions\extention.func.php(自定义函数文件)中定义一个方法
/** * 获取选项的格式化输出 * @param str $field 字段名称 必须 * @param int $value 字段值 必须 * @param int $modelid 模型ID 必须 * 2014-09-28 by awen */ function get_box($field, $value,$modelid) { $fields = getcache('model_field_'.$modelid,'model'); extract(string2array($fields[$field]['setting'])); if($outputtype) { return $value; } else { $options = explode("\n",$fields[$field]['options']); foreach($options as $_k) { $v = explode("|",$_k); $k = trim($v[1]); $option[$k] = $v[0]; } $string = ''; switch($fields[$field]['boxtype']) { case 'radio': $string = $option[$value]; break; case 'checkbox': $value_arr = explode(',',$value); foreach($value_arr as $_v) { if($_v) $string .= $option[$_v].' '; } break; case 'select': $string = $option[$value]; break; case 'multiple': $value_arr = explode(',',$value); foreach($value_arr as $_v) { if($_v) $string .= $option[$_v].' '; } break; } return $string; } }
这个是照内容输出页面的原理弄出来的,是系统的实现方式,安全可靠,只是把原来的、号分隔改成了空格,也可以加一个标签之类的,可以自己改。
前台使用
第一个是你的字段名称,第二个是你字段的值,就是输出的1、2、3,第三个是你所使用的模型iD
如楼盘特色字段名为‘lpts’,字段值为$r[lpts]这是loop循环得到的变量也可以是一个指定的你定义的值,第三个15是楼盘模型的ID
{get_box('lpts',$r[lpts],15)}
效果如下
首先我们注意的一个问题是,作为循环,if判断的条件不能是“==”,因为是“==”的话当走到5之后就永远不会符合条件了,所以第五个后面的就不会被显示了,我们可以用求余作为条件式来作为循环条件,例如第二个:
比如,我想在文章内容页,只显示年月日,不显示时分秒,按列表页用date函数会显示1970,找了很多方法,
后面看到化碟版主的,解决了,所以这里记录一下,直接用 $rs[inputtime] 就是输出了时间戳,然后用date来处理.
{date('M-d, Y',$rs[inputtime])}
另,还发现,date里,写M是显示英文的日期,m是数字。呵呵
phpcms默认的输出序号是{php $num++},然后用{$num}调用,但是如果自定义多图字段输出的值不是从1开始。解决方法如下
{loop $subdetail $pic_k $v}
<img src="{$v[url]}" alt="{$v[alt]}" class="sub0{$n}">
列表页:{trim($r[字段],' 、')}
内容页:{trim($字段,' 、')}
PHPCMS 判断列表分页是否第一页的代码
{if $page==1}......{/if}
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;text-decoration:none;}
body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}
table{empty-cells:show;border-collapse:collapse;border-spacing:0;}
<< 向左走,向右走 >>