zoukankan      html  css  js  c++  java
  • dedecms按栏目名首字母/数字排序输出方法

    我们先测试一下读取子类

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

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

    增加字段如图


    取第一个给刚加的字段 first_l

     代码如下 复制代码
    update `dede_arctype` set first_word=substr( typename,1,1)

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

    如图

     


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


    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();

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

     

    好了看看最终效果

    http://www.hzhuti.com/nokia/

    本站原创教程转载必须注明来源http://www.111cn.net/wy/yw.html

  • 相关阅读:
    MSSQL跨服务器插入
    TCP/IP详解 笔记一
    android学习十三 首选项
    android 学习十四 探索安全性和权限
    android学习十二 配置变化
    android学习十 ActionBar
    android学习十一 高级调试分析功能
    android学习九 对话框碎片
    android学习八 多用途碎片
    android学习七 菜单
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/2452779.html
Copyright © 2011-2022 走看看