如何在cms/ target=_blank class=infotextkey>帝国cms中实现按首字母索引功能,这个功能在很多文章站或下载站中均有体现。
1、在数据表中添加字段 infozm
2、在模型中设置为录入项。
这时录入信息便会自动生成首字母。
对此方法做下扩展。
例如,标题为 1942 的电影,这里默认会生成Y字母。
如果希望 1942,2012,3D血腥情人节 之类的按数字进行筛选。
那么只需要将系统默认的函数内容修改为如下代码即可。
函数位置:e/class/connect.php 约3467行。
复制代码 代码示例:
//取得字母
function GetInfoZm($hz){
if(!trim($hz))
{
return '';
}
$hz=esub($hz,1);
$numstrs='123456789一二三四五六七八九';
$numstr['1']='1';
$numstr['2']='2';
$numstr['3']='3';
$numstr['4']='4';
$numstr['5']='5';
$numstr['6']='6';
$numstr['7']='7';
$numstr['8']='8';
$numstr['9']='9';
$numstr['一']='1';
$numstr['二']='2';
$numstr['三']='3';
$numstr['四']='4';
$numstr['五']='5';
$numstr['六']='6';
$numstr['七']='7';
$numstr['八']='8';
$numstr['九']='9';
if(strstr($numstrs,$hz))
{
$zm=$numstr[$hz];
}
else
{
$py=ReturnPinyinFun($hz);
$zm=substr($py,0,1);
}
return strtoupper($zm);
}