`

织梦5.7生成栏目树

 
阅读更多

最近用织梦做了两个网站,发现生成栏目树的需求很多,而网上的解决方案都用cattree,但是这个玩意不好用,所以自己写了一个,给大家做参考:

一、在织梦数据里增加一个自定函数:

CREATE DEFINER=`root`@`localhost` FUNCTION `getChildLst2table`(rootId varchar(50)) RETURNS varchar(1000) CHARSET latin1
BEGIN
       DECLARE sTemp VARCHAR(1000);
       DECLARE sTempChd VARCHAR(1000);    
       SET sTemp = '$';
       SET sTempChd =rootId;    
       WHILE sTempChd is not null DO         
         SET sTemp = concat(sTemp,',',sTempChd);                     
         SELECT group_concat(id) INTO sTempChd FROM dede_arctype where reid<>id and FIND_IN_SET(reid,sTempChd)>0;
       END WHILE;
       set sTemp=replace(sTemp,concat('$,',rootId,','),'');
       set sTemp=concat('|',replace(sTemp,',','|,|'),'|');
       set sTemp=replace(sTemp,concat('|$|,|',rootId,'|'),'');
       RETURN sTemp;
     END

 

二、使用如下查询查询某点下的所有子节点:

select id,reid,topid,sortrank,typename,typedir,concat('/plus/list.php?tid=',id)as url,defaultname,char_length(typedir)-char_length(replace(typedir,'/','')) as layer
 from  dede_arctype where instr(getChildLst2table('3'),trim(concat('|',id,'|')))>0 order by sortrank;

注意:

一定在要织梦后台对你的栏目按层次设好排序和存储目录,这里通过存储目录中的/个数来确定层级,用排序号来确定归属。

三、在/plus/增加一个PHP程序来调用这个查询:如下:

<?php
require_once("wangsirDAO.php");
header("Content-type: text/html; charset=gb2312");
$rootid=$_REQUEST["rootid"];
if (!isset($rootid))
{
   echo "没有父节点";
   return;    
}
$dao=new wangsirDAO();
$sql="select id,reid,topid,sortrank,typename,typedir,concat('/plus/list.php?tid=',id)as url,defaultname,char_length(typedir)-char_length(replace(typedir,'/','')) as layer "." from  dede_arctype where instr(getChildLst2table('$rootid'),trim(concat('|',id,'|')))>0 order by sortrank;";
$res=$dao->query($sql);
echo "<ul class='treecotainer'>";
$left=0;
foreach($res as $v)
{
 $tname=$v["typename"];
 $tid=$v["reid"];
 $cid=$v["id"];
 $layer=$v["layer"];
 $s="";
 for($i=0;$i<$layer;$i++)
 {
  $s=$s."&nbsp;";
 }
 echo  "<li class='submenuitem'><h4>".
       $s."<img src='./images/box_icon1.png' border=0><a href='/plus/list.php?tid=".$tid."' style='color:#000;font-weight:bold'>".$tname."</a></h4>";

 echo "</li>";
}
echo "</ul>";

?>

四、在页面模板中通过ajax来调用这个PHP页面来生成层次显示在该显示的地方。

 

分享到:
评论

相关推荐

    仿中国站长网源码织梦5.7sp1源码.rar

    和中国站长网一模一样,程序测试完整,不过里面的栏目和广告位太多了,非常适合老手使用 1. 上传所有文件到服务器,并设置根目录有写入权限, 2. 打开IE 输入http://你的网址/install/ 4. 下一步,,直接点继续,,, 5...

    dede5.7定时审核更新插件

    “自动更新”则是指插件能够根据预设规则,定期自动检查并更新网站的某些部分,如文章、栏目或者模板等。这有助于网站保持与外界信息同步,尤其对于需要频繁更新数据的网站,能极大地减轻管理员的工作负担。 插件中...

    织梦V5.7SP1百度SiteMapXML插件下载140918发布

    3. **生成Sitemap**:插件会自动扫描并生成XML格式的网站地图,包括首页、栏目页、内容页等所有重要页面。 4. **提交至百度**:生成的SitemapXML文件需要上传到网站根目录,并在百度搜索引擎的Webmaster工具中提交...

    诸子百家 v5.7.zip

    运行环境: PHP、MYsql [织梦5.7]   诸子百家安装: 1.解压上传所有文件到服务器“根目录”。 2.在install目录删除install_lock.txt和index.html;重命名index.php.bak为index.php!(部分源码已操作,跳过此步...

    织梦标签纯静态,压缩包有相似说明。

    "修复了一些细节问题"可能指的是开发者或社区对DEDE CMS 5.7GBK版本进行的改进,解决了一些常见的性能瓶颈和冲突问题,比如生成静态页面的速度提升,可能涉及到缓存策略的优化、数据库查询的优化或者模板编译效率的...

    一款诸子百家网站源码完整版 v5.7

    该源码系统采用了织梦5.7网站系统来实现的,是一款诸子百家网站源码完整版 v5.7源码,适用范围: 小说网,文学网。使用说明:1.解压上传所有文件到服务器“根目录”。2.在install目录删除install_lock.txt和index.html...

    素描网源码php版v1.3

    主要包含页面:首页、素描图片、素描教程、素描入门等栏目 模板适合做素描、手绘、美术、书法、石器、玉石、艺术品、图片、qq、培训等网站内容。... 本源码基于织梦v5.7开发,模版已直接集成: 本套模板由52素描

    DEDE织梦自动审核插件修复版.zip

    自动生成首页,自动生成列表页,自动生成内容页,就相当于人工在每天更新,对于网站来说,排名上得相当的快,百度会认为你的网站每天都在更新 该插件本人于2020/3/1修改好,有5.7(gbk/utf两个版本),各位站长可以...

    dede标签大全

    此外,织梦CMS还提供了dede标签生成工具,这是一大便利,用户可以根据实际需求自动生成相应的标签代码,极大地提高了开发效率。通过熟练运用这些标签,用户不仅可以创建出功能丰富的网站,还能在SEO优化上取得优势,...

    带手机版汽车租用公司网站源码 CarRentalCompany.rar

    1、本模板基于DEDECms 5.7 设计,5.5以上的版本都能使用。模板作者介绍:DedeCms特邀设计师,织梦官方论坛版主,多年从事网页设计,网站开发工作. 二、菜单功能 模板安装方法 1、将web文件夹里的文件覆盖到网站根...

Global site tag (gtag.js) - Google Analytics