Archive for 十二月, 2009

2009-12-27 下雪了

27日清晨看到了雪花纷飞,虽然不是特别大,不过感觉不错,可惜就是冷了点!
这也算得上是2009年里最后一场雪了吧,下次要下雪估计得到2010年了!

特此记录.

关于PHPCMS2008_winliuxq(liuxq.cn)改良版程序的使用说明

PHPCMS2008_winliuxq(liuxq.cn)改良版是PHPCMS爱好者(PHPCMS版主)winliuxq自行在原程序基础上改进和完善的版本程序,对外是不会发布的,仅供winliuxq个人及本人客户使用.因此,程序是不外传的.
另:请我的客户恪守承诺,保管好我传给你们的程序,遇官方更新时可以联系我索取新的改良版本!

PHPCMS2008内容页面加载最新评论留言(JS调用)

应本周一客户作品的要求开发的.其实说不上开发吧,只能说是一种比较好的思路,以JS调用比较简洁吧!

这是一个很精明的方法呢(有点自夸了),在勿需修改任何一个程序文件就可以完成的简单方法.
今天先上传一个图片供大家鉴赏.注意:这里是在内容页面用JS调用当前最新评论,且调用数量可控.

图片有进行了缩小,大家将就看吧.

PHPCMS2008内容页面JS加载评论

PHPCMS2008内容页分页显示全部的解决办法

问题表现描述以及解决后的显示图示见以下链接:
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样式需要自己写下了.

PHPCMS2008点击内容中的图片自动跳转到下一页 最终代码放送

效果描述:
只对有分页的内容执行操作,即点击内容中的,图片进入下一页,并且点击内容最后一页时会跳转到当前所属的栏目首页.
话不多说,直接入主题.贴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,适用于PHPCMS2008

建站后,刚刚发布的文章由于浏览的人还比较少,导致了其浏览次数不高,这样,其他用户刚进来看到后也不会太认真去看,因为用户可能会想,这样一个没有"人气"的文章对于他来说也未必有浏览价值!那么,如何给每个文章的浏览资料在原有基础上都加上100呢.下面就说下方法:

打开根目录里的cont.php,将倒数第三行的<?=$hits?>改为<?=$hits+100?>就可以了,是不是特别简单呢!

有些用户在想着在模板里的<span id="hits">0</span>前面加个100,这样导致的问题就是真实浏览资料前加了一个"100",显然这种做法会有弊端,而且扫尾影响到后期的工作!

关于PHPCMS2008生成HTML一些建议

历数PHPCMS的各个版本,其实要属PHPCMS2007的SP6在生成HTML方面效率是最高的,到了PHPCMS2008,生成HTML的效率可以说是打了一个大折扣.生成速度比起前面的07_SP6慢了不少.

有时候,PHPCMS2008在数据较多的情况下,生成HTML就会更慢了,而且每次生成的数量设置还不能过大,否则程序根本就执行不了生成.在一些国外空间上面使用时就更不用说了.

这里,winliuxq[www.liuxq.cn]告诉大家一个小技巧:
生成时设置的每次生成页数少一些,比如为50,如果每个内容页面还有更多的分页时就要设置得更小一些,比如说20页.然后指定生成的起始ID和最终ID.这样生成时不至于会出现程序都无法执行的情况了.

这个方法比较适合于数据量较大或者内容分页较多,且网站放在国外空间上的.

PHPCMS2008内容页分页显示全部的解决办法

问题描述:
存在于PHPCMS2008版本中,内容如果有10个分页,前台就显示10个分页,如果内容有20或者30甚至更多的分页时,内容页的分页也全部显示出来,这就极易导致内容页面"不整洁".
看了一下PHPCMS的代码,对内容页分页进行了些许改造,效果如图:

新内容分页1
新内容分页2
新内容分页3

择日发布代码.

如何使用PHPCMS2008的模板参数之CATEGORY

花一分钟的时间写下以下教程,旨在帮助大家认识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还可以延伸出更多参数,大家灵活运用肯定会收到好效果!希望本教程会对大家制作模板有所帮助!

下一页 »