一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2012-04-02 编辑:简简单单 来源:一聚教程网

我们先测试一下读取子类

 代码如下 复制代码
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 .='

'.strtoupper($wd).'开头
';
   while( $rs = $dsql->GetArray('wd') )
   {
    $str .=''.$rs['typename'].'';
   }
  }
 }
 return $str; 
 
}

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

jx.html里面这样写

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

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

好了看看最终效果

http://www.111com.net/nokia/

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

热门栏目