• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 土豆服务器 | 发布时间: 2025-7-24 16:38| 查看数: 79| 评论数: 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 .=''.strtoupper($wd).'开头';  
                     
    •                                                         while( $rs = $dsql->GetArray('wd') )  
                     
    •                                                         {  
                     
    •                                                         $str .=''.$rs['typename'].'';  
                     
    •                                                         }  
                     
    •                                                         }  
                     
    •                                                         }  
                     
    •                                                         return $str;  
                     
    •                                                         }  
             
            写好后,我们找到调用栏目的模板 
            jx.html里面这样写 
                            复制代码
                            代码如下:
           
            {dede:field.id function="getfristword(@me)"/} 这里是讲把当前栏目的id给getfirestword(); 
             
             
            提示影响了 420 行。 ( 查询花费 0.0176 秒 ) 代码成功了,现在查看
            如图
           
           
            现在打开 dedecms的/include/channelunit.func.php文件,我们在这里增加自定义函数
             
            好了我们的效果就出来了如图
           
            好了看看最终效果

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表