• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms按栏目名首字母/数字排序输出的实现方法
    POST TIME:2020-04-03 15:29
    点评:文章分享一篇关于dedecms栏目增加按数字字母开头排序输出,做起来很简单我们大概有三个方法,一个是数据增加字段first_word,第二步增自定义函数getfristword,第三步在模板文件中调用自定函数
     
    我们先测试一下读取子类

    代码如下:

    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.php文件,我们在这里增加自定义函数

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

     

    好了看看最终效果

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!