2009-12-27 下雪了
27日清晨看到了雪花纷飞,虽然不是特别大,不过感觉不错,可惜就是冷了点!
这也算得上是2009年里最后一场雪了吧,下次要下雪估计得到2010年了!
特此记录.
27日清晨看到了雪花纷飞,虽然不是特别大,不过感觉不错,可惜就是冷了点!
这也算得上是2009年里最后一场雪了吧,下次要下雪估计得到2010年了!
特此记录.
PHPCMS2008_winliuxq(liuxq.cn)改良版是PHPCMS爱好者(PHPCMS版主)winliuxq自行在原程序基础上改进和完善的版本程序,对外是不会发布的,仅供winliuxq个人及本人客户使用.因此,程序是不外传的.
另:请我的客户恪守承诺,保管好我传给你们的程序,遇官方更新时可以联系我索取新的改良版本!
应本周一客户作品的要求开发的.其实说不上开发吧,只能说是一种比较好的思路,以JS调用比较简洁吧!
这是一个很精明的方法呢(有点自夸了),在勿需修改任何一个程序文件就可以完成的简单方法.
今天先上传一个图片供大家鉴赏.注意:这里是在内容页面用JS调用当前最新评论,且调用数量可控.
图片有进行了缩小,大家将就看吧.

问题表现描述以及解决后的显示图示见以下链接:
http://www.liuxq.cn/2009/12/478/
下面直接提供liuxq[www.liuxq.cn]的解决办法,很简单,只要修改一下/include/url.class.php这个文件即可.
打开这个文件,找到并将" function show_pages($page, $pagenumber, $pageurls) "这一行到" function update($contentid,$url) "之间的代码全部替换成以下代码:
{
$pages = '';
$multipage .= '<span>共'.$pagenumber.'页</span>';
$n = 9;//每页显示的页码数
$i = 0;
if ($pagenumber <= $n)
{
$start_page = 1;
$end_page = $pagenumber;
}
else
{
$i = floor($page/$n);
if($page >= 5)
{
if($page+2 >= $pagenumber)
{
$start_page = $page - 6;
}
else{
$start_page = $page - 4;
}
$end_page = ($page + 4) >= $pagenumber ? $pagenumber : $page + 4;
}
else
{
$start_page = 1;
$end_page = 8 >= $pagenumber ? $pagenumber : 8;
}
}
for($i=$start_page; $i<=$end_page; $i++)
{
$pages .= $page == $i ? '<span>'.$i.'</span>' : '<a href="'.$pageurls[$i][1].'" target="_self">'.$i.'</a>';
}
$firstpage =min($page, 1);
$lastpage =max($page,$pagenumber);
$prepage = max($page-1, 1);
$nextpage = min($page+1, $pagenumber);
if($page>1 && $page < $pagenumber)
{
$pagelist=$multipage.'<a href="'.$pageurls[$firstpage][1].'" target="_self">首页</a>'.'<a href="'.$pageurls[$prepage][1].'" target="_self">上一页</a>'.$pages.'<a href="'.$pageurls[$nextpage][1].'" target="_self">下一页</a><a href="'.$pageurls[$lastpage][1].'" target="_self">尾页</a>';
}
elseif($page+1 > $pagenumber)
{
$pagelist=$multipage.'<a href="'.$pageurls[$firstpage][1].'" target="_self">首页</a>'.'<a href="'.$pageurls[$prepage][1].'" target="_self">上一页</a>'.$pages;
}
else
{
$pagelist=$multipage.$pages.'<a href="'.$pageurls[$nextpage][1].'" target="_self">下一页</a><a href="'.$pageurls[$lastpage][1].'" target="_self">尾页</a>';
}
return $pagelist;
}
//重新改造结束 www.liuxq.cn
改造完成,如果是动态URL的话,前台刷新一下页面就能重新看到新的分页样式了,当然,分页的CSS样式需要自己写下了.
效果描述:
只对有分页的内容执行操作,即点击内容中的,图片进入下一页,并且点击内容最后一页时会跳转到当前所属的栏目首页.
话不多说,直接入主题.贴winliuxq[www.liuxq.cn]的改造代码:
{if $pagenumber > 1}
<?php
$nextpage = $page+1;
if(!$pageurls[$nextpage][1])
{
$nurl='/'.$C[url];
}
else
{
$nurl='/'.$pageurls[$nextpage][1];
}
$content1 = str_replace("<img","<img alt='$title($page)' onclick=window.open('$nurl','_self')",$content);
?>
{$content1}
{else}
{$content}
{/if}
下午刚购入一新猫,现在总算正常了!
几天QQ没有上线,请大家见谅!明天,有问题我会一一回复!
建站后,刚刚发布的文章由于浏览的人还比较少,导致了其浏览次数不高,这样,其他用户刚进来看到后也不会太认真去看,因为用户可能会想,这样一个没有"人气"的文章对于他来说也未必有浏览价值!那么,如何给每个文章的浏览资料在原有基础上都加上100呢.下面就说下方法:
打开根目录里的cont.php,将倒数第三行的<?=$hits?>改为<?=$hits+100?>就可以了,是不是特别简单呢!
有些用户在想着在模板里的<span id="hits">0</span>前面加个100,这样导致的问题就是真实浏览资料前加了一个"100",显然这种做法会有弊端,而且扫尾影响到后期的工作!
历数PHPCMS的各个版本,其实要属PHPCMS2007的SP6在生成HTML方面效率是最高的,到了PHPCMS2008,生成HTML的效率可以说是打了一个大折扣.生成速度比起前面的07_SP6慢了不少.
有时候,PHPCMS2008在数据较多的情况下,生成HTML就会更慢了,而且每次生成的数量设置还不能过大,否则程序根本就执行不了生成.在一些国外空间上面使用时就更不用说了.
这里,winliuxq[www.liuxq.cn]告诉大家一个小技巧:
生成时设置的每次生成页数少一些,比如为50,如果每个内容页面还有更多的分页时就要设置得更小一些,比如说20页.然后指定生成的起始ID和最终ID.这样生成时不至于会出现程序都无法执行的情况了.
这个方法比较适合于数据量较大或者内容分页较多,且网站放在国外空间上的.
问题描述:
存在于PHPCMS2008版本中,内容如果有10个分页,前台就显示10个分页,如果内容有20或者30甚至更多的分页时,内容页的分页也全部显示出来,这就极易导致内容页面"不整洁".
看了一下PHPCMS的代码,对内容页分页进行了些许改造,效果如图:



择日发布代码.
花一分钟的时间写下以下教程,旨在帮助大家认识CATEGORY的用处.不多说,直接讲重点.
在制作模板时,我们通常会需要在某一处单独调用一个栏目的数据,这时栏目名称以及栏目URL如何写?直接写的话,以后要改栏目目录了,还得重新修改下模板文件,是不是感觉麻烦了.这时候,CATEGORY发挥他的用处了,比如我要在首页调用栏目ID为3的数据,栏目URL我们可以直接这样写{$CATEGORY[3][url]},名称可以{$CATEGORY[3][catname]}.这样的话,如果我们后台直接修改了栏目名称或者变更了栏目URL地址,首页模板不作修改,程序会自动调用新名称和URL.
当然,有些时候,我们要调用某一频道栏目(泛指栏目下还有其他子栏目的频道)时,我们假设这个频道栏目的ID为1,普通的使用catid='1'是GET不出此频道下的数据.这时候,我们一样可以使用CATEGORY这个参数.不过在这里还需要一个PHP程式来重新定义一个新参数.示例:
<?php
$ccid=$CATEGORY[1][arrchildid];
?>
{get sql="select * from * where catid in($ccid) *}
这样,我们就可以直接GET出此频道下面的数据了,其他GET参数照常使用即可.是不是感觉要简单很多呢.
CATEGORY还可以延伸出更多参数,大家灵活运用肯定会收到好效果!希望本教程会对大家制作模板有所帮助!