PHPCMS2008实现栏目按字母区分调用的简单方法

其实主要是查询栏目的目录名称,即:catdir这个字段,再利用substr函数来获取catdir这个字段值的首个字母,然后就可以根据获取到的首个字母来区分调用了.
应该说方法是很简单的.

不多说了,直接贴上winliuxq(liuxq.cn)提供的代码:
{get sql="select catid,catdir,catname,url from phpcms_category where ismenu=1 order by listorder desc"}
<?php
$fcatid=substr($r[catdir],0,1);
?>
{if $fcatid==a}<a href="{$r[url]}">{$r[catname]}</a> {/if}
{/get}

上述代码也比较好理解,其中$fcatid==a中的a就是你想要调用的首字母,这个a可以自己修改.

这个根据首字母来区分调用栏目的方法可以广泛应用在下载站,音乐站,动漫站和图片站等.

PHPCMS2008关键词分隔符空格改为逗号","的解决方案

由于用到UTF-8版本建立英文站点,在关键词分隔这一块,默认的用空格来区分关键词不太可控,而且导致了英文关键词词义的变化.所以想到修改这个关键词分隔符空格为",".

在PHPCMS论坛上先搜索了一番,发现也有几位会员提出过此问题,不过均未能圆满解决.所以自己打开程序文件看,呵呵,总算是成功解决了.准备年后发布解决方案.

PHPCMS2008 SP3最新版本上的几处小问题

其实说来都是一些细节上的问题,但有时候这些问题往往会导致用户不满.经过winliuxq(liuxq.cn)这几天来对SP3版本的使用和了解后,发现了几处小问题,当然并不会影响程序的正常使用,只在这里说一些平时操作上的细节问题吧.

1.后台编辑文章时上传缩略图不加水印的问题
用户可以自己恢复,需要修改3个程序文件.

2.批量添加栏目时的附件设置问题
如果我们在网站设置里面设置了缩略图的大小为500,那么按道理我们批量建立后的栏目设置中的附件大小也应该为500,不过很可惜,你批量建立的栏目设置的附件大小默认为空,也就是300.为什么会这样呢?
其实这也是一处小细节问题,需要修改一个模板文件即可解决.

其他暂无特大发现,呵呵.欢迎PHPCMS爱好者们将自己遇到的问题发给liuxq,联系我的QQ:三O二四一O七

PHPCMS2008 SP3 100125的UTF-8版本有更新

目前官方发布的PHPCMS2008 SP3版本号都是100125(即2010.1.25),不过据winliuxq(liuxq.cn)这几天观察,发现此版本的UTF08版近期有小更新,应该是某个文件的更新,可能对程序使用不会造成什么大的影响.所以PHPCMS官方到目前为止仍然没有公告UTF-8有更新的消息.

那么,winliuxq是从哪里看到UTF-8版本有更新的呢?答案在这里:http://download.phpcms.cn/phpcms2008sp3/

大家看到了吗,上面就是PHPCMS官方最新程序的下载列表,可以很清楚地看到了UTF-8版本在2010.1.28这天有重新上传更新了.所以如果你用的是UTF-8版本程序,并且是在2010.1.28日前下载的,那么我建议你重新下载.

解决PHPCMS2008内容页分页[page]的问题

这个问题我原来以为是没有的,但后来经过测试发现在PHPCMS2008各个版本中都存在,当然此问题仅当内容页URL为动态时才会发现,如果为静态生成的话则不会有此问题.
我先大体说一下这个[page]出问题的情景:

比如以下为两份内容的源代码
内容A:解决PHPCMS2008内容页分页[page]解决PHPCMS2008内容页分页[page]解决PHPCMS2008内容页分页
内容B:[page]解决PHPCMS2008内容页分页[page]解决PHPCMS2008内容页分页[page]解决PHPCMS2008内容页分页

大家认真看内容A和内容B,其实他们在URL动态打开时的分页总数是一样(分页数量没有错误),但是在内容分页第1页显示的内容就不一样了,内容A是可以正常显示第1页的;而内容B的第1页则显示为空白,到第2页才显示第1页的内容.这就是今天要解决的问题(注:经测试,此问题在静态生成时不存在).

现在我们仔细观察上面内容A和内容B的不同之处,发现内容B中[page]有3个,而且第1个是在具体内容的前面,问题就在这里.
按照官方程序的设计来说,正确的分页代码插入应该是:内容[page]内容[page]内容.所以大家要熟记这个分页插入规则,不要把[page]放到具体内容的前面.

那有没有办法,兼容这两种情况呢.当然可以.只要对show.php这个文件进行些许修改即可.以下winliuxq(liuxq.cn)就向大家提供兼容解决方案:
打开根目录的show.php
1.找到"$contents = array_filter(explode('[page]', $content));",在其下面添加两行:
$cont_p=str_cut($content,'7','');//提取内容代码中前7个字符
$cont_pn=substr_count($cont_p, "[page]");//判断前7个字符中是否存在[page]这串代码
2.将"$content = $contents[$page-1];"修改为以下代码:
if(!$cont_pn)
{
$content = $contents[$page-1];
}
else
{
$content = $contents[$page-0];
}

好了,问题得到解决了.有此烦恼的朋友现在就试试吧.

PHPCMS2008 在图片上随机打水印

我们都知道,PHPCMS2008的后台里可以设置图片水印,并且有1-9共9个水印位置.但是默认情况下,我们只能选择一个水印位置,也就是站内所有图片只能将水印打在一个位置上面.可能大家用的比较多的是9号位置吧.

winliuxq(liuxq.cn)突发奇想,可否给PHPCMS2008的图片在4周自动打水印呢.答案是肯定的,因为liuxq已经实现了.只需要修改一个文件.就可以在图片的多个任意位置打上水印了.这种水印位置是随机打的.当然是可控的.

例如,我们通常会在图片的4周,即1,3,7,9这四个位置打水印,那么我们设置程序在打水印时随机这4个位置就可以了.不多说了.直接看效果图吧.

http://www.nvren5.com/shehua/lxqs/201001/15407.html

请点击上文中看图片.注意分页中的图片水印位置.是不是都不尽相同了呢.

不错吧.择日放出代码.

PHPCMS2008_SP3出来了,现在该不该升级呢?

PHPCMS2008的最新版本SP3于2009年12月30日发布了,官方的下载地址如下:
http://download.phpcms.cn/phpcms2008sp3/

大家点击上面的链接里可以看到这个SP3的版本最后修改日期为2010.1.1下午的5点左右.那么,我们现在到底该不该升级呢?

我给大家的建议是:
1.使用源官方程序并没有修改过源程序的可以升级;
2.自己有修改过源程序的建议过段时间再升级.

原因有三:
1.这次升级最主要是增加了一个视频模块,这个视频模块是可以与KU6互动的.不过就目前而言,这个视频模块对于个人站长而言似乎没有什么太大的作用,受有关政策限制,视频网站是需要"证件"的.所以升级不升级无太碍网站正常运作.
2.更新了若干程序文件,修改了之前版本程序中存在的些许小问题,比如说我很早期提到的增加数据源时用户名和密码长度问题.
说到这个真要汗一下开发组的办事效率了,这问题我记得在很早前就提出过了,本人向官方直接反映此问题估计有近一年时间了,现在终于肯解决了!
3.接上一点,由于新版本刚发布出来,往往存在这样那样的"小问题",且有鉴于PHPCMS官方早期发布新版本后通常都有经历一小时间的修整期,所以如果你自己有修改过源程序代码的话,且程序版本在2009.10.20的话,建议等过些时候SP3稳定下来后再考虑升级.

另外,笔者的改良版本目前不考虑升级,我不建议客户们不要自行升级以免造成不必要的麻烦,待SP3稳定后,我会与官方同步最新程序文件!

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

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

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

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

PHPCMS2008内容页面JS加载评论

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}

PHPCMS2008的评论列表中轻松加入用户的头像

有两个办法,一是使用GET标签获取,不过代码写下来会繁锁(如果用户上传了头像的话,还要判断附件那个表).二是直接使用PHP定义$avatar参数.下面winliuxq(liuxq.cn)就说下第二种方法,比较简单!

在评论列表模板中的{$comment['content']}上面加入以下代码:
<?php
$memberinfo['avatar'] = avatar($comment['userid']);
@extract(new_htmlspecialchars($memberinfo));
?>
<a href="{SITE_URL}space/?userid={$comment[userid]}" target="_blank"><img src="{$avatar}" width="60" border="0" alt="{$comment[username]}头像" /></a>

添加好后保存,刷新评论列表的前台,OK啦!是不是特别简单呢!至于栏目问题,就得靠你自己去调整啦!

除此之外,你还可以在这里使用thumb参数给头像进行切割处理,如:{thumb($avatar,60,60)}

下面再来张效果图:
QQ截图未命名.jpg

下一页 »