Archive for the 'CMS|CSS' Category


解决PHPCMS在国外空间单个目录下附件数量超过1024的方法

这个问题大家也通常会很少遇到.附件数量为什么会在单个目录下产生并超过1024个呢.这主要还是要看网站的类型了.
有些用户使用PHPCMS直接做图片站,而PHPCMS附件的生成地址是以当天的发布日期来确定的.也就是如果你一天采集发布了1W篇图片的话,那么远程下载的图片数量肯定会大得惊人.

这时候,洽洽一些国外的空间上又限制单个目录下的文件数量为1024,那么,你超标了!
怎么办呢?

从生成目录这里下手,默认生成目录是uploadfile/Y/md/,也就是"生成目录/年/月日/".如果我们改为"生成目录/年/月日/时/",即u*/Y/md/H/,这样的话.生成目录不就按照时来细分了.一天24个小时,24个小时分别生成一个目录.这样就一定程度上减轻了单个目录下附件生成数量的压力.
是不是一个变通的好方法呢.

怎么修改呢.也很简单.直接打开include/attachment.class.php
找到Y/md/,将他修改为Y/md/H/
注意,有两处哦!

PHPCMS小细节改进之添加关联链接

在使用PHPCMS程序过程中,当一个网站建立到位以后,包括基础数据都准备好了,那么大多数的站长都会根据自己网站的关键词在后台添加关联链接,这是增加站内链接有效办法.
在添加过程中,我们注意到,当添加完一次关联链接后,程序就会自动跳到关联链接管理页面,这时候,我们不得不再点击一下"添加关联链接"才能继续添加.这让我感觉有些麻烦,至少我是这样认为的.
那么今天就来解决这个问题,很简单:
1.打开admin/keylink.inc.php
在第8行下面增加一句:
$forward1 = '?mod='.$mod.'&file='.$file.'&action=add';
2.将原来第19行的代码改为:
showmessage('操作成功!', $forward1);

OK,这样就解决了,现在当我们再次添加关联链接后,页面仍然会继续返回到这个添加的页面,是不是会感觉方便点呢!

再谈PHPCMS中$CATEGORY的作用

$CATEGORY这个定义参数的变量很有意思,在制作模板的时候可以给我们提供很多方便.
例1,在内容页中调用同级栏目,可以用它轻易获得上级频道的ID.
$cid=$CATEGORY[$C[catid]][parentid];
?>
{get sql=* parentid='$cid' *}
例2,在栏目页面中调用当调用上级频道的内容.
$aid=$CATEGORY[$C[catid]][arrchildid];
?>
{get sql=* catid in($aid) *}
例3,在任何模板上,轻松获取一个栏目的URL,名称,文章数量(指子栏目)等.
{$CATEGORY[1][url]}
{$CATEGORY[2][catname]}
{$CATEGORY[3][items]}
...
还有其他一些参数值,大家可以查阅数据字典.具体的使用方法,大家可以灵活多样,不要被模板教程局限了自己的思维.
其实做一个模板真的不难!

关于PHPCMS2008远程下载图片和自动获取缩略图的若干问题

本文中所描述的情况或提供的解决方案均是在PHPCMS2008 sp3版本上进行的.

首先,我得先讲一个问题,一个关于PHPCMS2008版本中一直存在的问题,这就是自动获取缩略图的功能.
使用PHPCMS的用户都知道,自动获取缩略时只有在内容发布时为远程图片时才会起作用,自己新发布一篇文章时,如果内容里的图片是站点本身已有的图片时就不能自动获取到图片.我记得有个别用户在官方论坛上反映过这个问题,不过官方并未解决好这个问题.

解决这个问题其实也只需要修改一个文件,即include/attachment.class.php
这个文件里其实也只需要修改几处就可以解决发布本地图片时不能自动获取缩略图的问题.

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内容页分页[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_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_winliuxq(liuxq.cn)改良版程序的使用说明

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

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

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

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

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

PHPCMS2008内容页面JS加载评论

下一页 »