zhao599 发表于 2010 年 11 月 14 日 18:27:07

dede任意地方调用行业分类代码分享


在dede论坛上看了很多人都在询问怎么在首页调用行业的所有分类
假设你是做B2B类型的网站,几乎每个网站都把全部分类显示在首页
目前dede还没有一个标签能够调用这些分类的
但是强大的自定义函数功能还是能满足这个需求的
废话不说,直接进入主题
首先在\include新建一个inc_extend_functions.php,这个文件都是放你自己写的自定义函数的,区别于官方写的,然后加入以下代码
    //分类调用
function getfenlei(){
$dsql = new DedeSql();
$topsectors = $subsectors = array();
$dsql->setquery("select id, name, reid from #@__sectors order by disorder desc,id asc");
$dsql->Execute();
while($row = $dsql->GetArray())
{
    if($row['reid'] == 0){
      $topsectors[] = $row;
    }else{
      $subsectors[] = $row;
    }
}
foreach($topsectors as $topsector){
    $sectors[] = $topsector;
    foreach($subsectors as $key => $subsector){
      if($subsector['reid'] == $topsector['id']){
            $sectors[] = $subsector;
            unset($subsectors[$key]);
      }
    }
}
if($sectors){
    $temp = 0;
    foreach($sectors as $sector){
      if($sector['reid'] == 0){
            if($temp > 0){
                $fenlei.= "</ul>\n\n";
            }
            $fenlei .="<ul id='fenleida'>\n";
            $fenlei .="<li id='fenleidat'><a href=\"/list-company-sectorid-$sector.html\">$sector</a></li>\n";
            $temp++;
      }else{
            $fenlei .= "<li id='fenleix'><a href=\"/list-company-sectorid2-$sector.html\">$sector</a> | </li>\n";
      }
    }
    $fenlei .= "</ul>\n";
   
}
return $fenlei;
}
然后在首页你需要调用的地方写上{dede:hotwords num='5' function='getfenlei(@me)'/} 就可以了
说明:
1、函数中<ul id='fenleida'>以及<li id='fenleidat'><等是我自己定义的CSS样式,你可以自己去修改。
2、<a href=\"/list-company-sectorid-$sector.html,这些是链接地址,你可以把它链接到供应或者求购等地方,你都可以自己去写,我这个是链接到黄页,用了伪静态而已
3、{dede:hotwords num='5'function='getfenlei(@me)'/} 这个目的是想调用这个函数,因此hotwords num='5' 并不是调用热门关键词之类的,只是弄个摆设,没这个摆设可不行的哦
页: [1]
查看完整版本: dede任意地方调用行业分类代码分享