绿色排版工具|热门专题|网站地图|移动官网
您的当前位置:网站首页 > 建站教程 > 织梦cms建站教程 > 正文

dedecms按栏目名首字母/数字排序输出的实现方法

来源: 编辑: 时间:2017-02-28 21:09:26 阅读:
我们先测试一下读取子类

复制代码代码如下:
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 class="ku1_left">'.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.文件,我们在这里增加自定义函数

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

好了看看最终效果

图文精选:

栏目分类
最新文章
热门文章
推荐文章

Copyright©2012-2030小蚂蚁信息网版权所有 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。

Top