如果你是做B2B类型的网站,几乎每个网站都把全部分类显示在首页,目前dede还没有一个标签能够调用这些分类的,但是强大的自定义函数功能还是能满足这个需求的。如何调用全部的行业分类信息呢?
废话不说,直接进入主题,首先在\include新建一个inc_extend_functions.php,这个文件都是放你自己写的自定义函数的,区别于官方写的,然后加入以下代码
- //分类调用
- function getfenlei(){
- $dsql = new DedeSql();
- $topsectors = $subsectors = array();
- $dsql->setquery("select id, name, reid from dede_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[id].html\">$sector[name]</a></li>\n";
- $temp++;
- }else{
- $fenlei .= "<li id='fenleix'><a href=\"/list-company-sectorid2-$sector[id].html\">$sector[name]</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[id].html,这些是链接地址,你可以把它链接到供应或者求购等地方,你都可以自己去写,我这个是链接到黄页,用了伪静态而已
3、{dede:hotwords num='5' function='getfenlei(@me)'/} 这个目的是想调用这个函数,所以hotwords num='5' 并不是调用热门关键词之类的,只是弄个摆设,没这个摆设可不行的哦