dedecms按栏目名首字母/数字排序输出的实现方法
dedecms按栏目名首字母/数字排序输出的实现方法
发布时间:2016-12-26 来源:查字典编辑
摘要:我们先测试一下读取子类SELECTsubstr(typename,1,1)FROM`dede_arctype`WHEREtopid>0好了现...

我们先测试一下读取子类

SELECT substr(typename,1,1) FROM `dede_arctype` WHERE topid>0

好了现在正式开始增加字段

增加字段如图

取第一个给刚加的字段 first_l

update `dede_arctype` set first_word=substr( typename,1,1)

function getfristword( $tid )

{

$str ='';

$tid = intval( $tid );

$dsql = new Dedesql(false);

$sql ="select `first_word` from dede_arctype where topid='$tid' group by first_word";

$dsql->SetQuery($sql);

$dsql->Execute('hw');

while($row=$dsql->GetArray('hw'))

{

if($row['first_word'])

{

$wd =$row['first_word'];

$sql = "select * from dede_arctype where topid=$tid and first_word= '$wd' ";

$dsql->SetQuery($sql);

$dsql->Execute('wd');

$str .='<div>'.strtoupper($wd).'开头</div>';

while( $rs = $dsql->GetArray('wd') )

{

$str .='<a href="'.str_replace('{cmspath}','',$rs['typedir']).'" title="'.str_replace('下载','',$rs['typename']).'手机主题" target="_blank">'.$rs['typename'].'</a>';

}

}

}

return $str;

}

写好后,我们找到调用栏目的模板

jx.html里面这样写

{dede:field.id function="getfristword(@me)"/} 这里是讲把当前栏目的id给getfirestword();

提示影响了 420 行。 ( 查询花费 0.0176 秒 ) 代码成功了,现在查看

如图

现在打开 dedecms的/include/channelunit.func.php文件,我们在这里增加自定义函数

好了我们的效果就出来了如图

好了看看最终效果

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新dedecms学习
热门dedecms学习
CMS教程子分类