dede调用二级dede栏目内容调用里对应的文章

DEDE5.6,DEDE5.7实现同时调用一级、二级、三级栏目 - seaven - 博客园
随笔 - 71, 文章 - 2, 评论 - 12, 引用 - 0
一、修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件&&?phpfunction&lib_channel(&$ctag,&$refObj){&&&&global&$_sys_globals,$envs,$dsql;&&&&$attlist&=&"typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";&&&&FillAttsDefault($ctag-&CAttribute-&Items,$attlist);&&&&extract($ctag-&CAttribute-&Items,&EXTR_SKIP);&&&&$innertext&=&$ctag-&GetInnerText();&&&&&&&&$cacheid&=&trim($cacheid);&&&&if($cacheid&!='')&{&&&&&&&&$likeType&=&GetCacheBlock($cacheid);&&&&&&&&if($likeType&!=&'')&return&$likeType;&&&&}&&&&$reid&=&0;&&&&$topid&=&0;&&&&if(empty($typeid)&&&&$envs['typeid']!=0)&&&&{&&&&&&&&$typeid&=&$envs['typeid'];&&&&&&&&$reid&=&$envs['reid'];&&&&}else{&&&&&&&&$reid=0;&&&&}&&&&if($type==''||$type=='sun')&$type="son";&&&&if($innertext=='')&$innertext&=&GetSysTemplets("channel_list.htm");&&&&if($reid==0&&&&$typeid&0)&&&&{&&&&&&&&$dbrow&=&$dsql-&GetOne("Select&reid&From&dede_arctype&where&id='$typeid'&");&&&&&&&&if(is_array($dbrow))&$reid&=&$dbrow['reid'];&&&&}&&&&$likeType&=&'';&&&&if($type=='top')&&&&{&&&&&&&&$sql&=&"Select&id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description&&&&&&&&&&From&dede_arctype&where&reid=0&And&ishidden&&1&order&by&sortrank&asc&limit&0,$row";&&&&}&&&&else&if($type=="son")&&&&{&&&&&&&&//if($_sys_globals['typeid']&0)&$typeid&=&$_sys_globals['typeid'];&&&&&&&&if($typeid==0)&{&&&&&&&&&&&&return&'';&&&&&&&&}&&&&&&&&$sql&=&"Select&id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description&&&&&&&&&&From&dede_arctype&where&reid='$typeid'&And&ishidden&&1&order&by&sortrank&asc&limit&0,$row";&&&&}&&&&else&if($type=="self")&&&&{&&&&&&&&if($reid==0)&{&&&&&&&&&&&&return&'';&&&&&&&&}&&&&&&&&$sql&=&"Select&id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description&&&&&&&&&&&&From&`dede_arctype`&where&reid='$reid'&And&ishidden&&1&order&by&sortrank&asc&limit&0,$row";&&&&}&&&&//And&id&&'$typeid'&&&&$needRel&=&false;&&&&$dtp2&=&new&DedeTagParse();&&&&$dtp2-&SetNameSpace("field","[","]");&&&&$dtp2-&LoadSource($innertext);&&&&$dsql2&=&clone&$dsql;&&&&$dsql-&SetQuery($sql);&&&&$dsql-&Execute();&&&&$line&=&$row;&&&&&&&&//检查是否有子栏目,并返回rel提示(用于二级菜单)&&&&if(ereg(':rel',&$innertext))&$needRel&=&true;&&&&&&&if(empty($sql))&return&'';&&&&$dsql-&SetQuery($sql);&&&&$dsql-&Execute();&&&&&&&$totalRow&=&$dsql-&GetTotalRow();&&&&$GLOBALS['autoindex']&=&0;&&&&for($i=0;$i&&&$line;$i++)&&&&{&&&&&&&&if($col&1)&$likeType&.=&"&dl&\r\n";&&&&&&&&for($j=0;$j&$col;$j++)&&&&&&&&{&&&&&&&&&&&&if($col&1)&$likeType&.=&"&dd&\r\n";&&&&&&&&&&&&if($row=$dsql-&GetArray())&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&$row['sonids']&=&$row['rel']&=&'';&&&&&&&&&&&&&&&&if($needRel)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&$row['sonids']&=&GetSonIds($row['id'],&0,&false);&&&&&&&&&&&&&&&&&&&&if($row['sonids']=='')&$row['rel']&=&'';&&&&&&&&&&&&&&&&&&&&else&$row['rel']&=&"&rel='dropmenu{$row['id']}'";&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&//处理同级栏目中,当前栏目的样式&&&&&&&&&&&&&&&&if(&($row['id']==$typeid&||&($topid==$row['id']&&&&$type=='top')&)&&&&$currentstyle!=''&)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&if($currentstyle!='')&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&$linkOkstr&=&$currentstyle;&&&&&&&&&&&&&&&&&&&&$row['typelink']&=&GetOneTypeUrlA($row);&&&&&&&&&&&&&&&&&&&&$linkOkstr&=&str_replace("~rel~",$row['rel'],$linkOkstr);&&&&&&&&&&&&&&&&&&&&$linkOkstr&=&str_replace("~id~",$row['id'],$linkOkstr);&&&&&&&&&&&&&&&&&&&&$linkOkstr&=&str_replace("~typelink~",$row['typelink'],$linkOkstr);&&&&&&&&&&&&&&&&&&&&$linkOkstr&=&str_replace("~typename~",$row['typename'],$linkOkstr);&&&&&&&&&&&&&&&&&&&&$likeType&.=&$linkOkstr;&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}else&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&$row['typelink']&=&$row['typeurl']&=&GetOneTypeUrlA($row);&&&&&&&&&&&&&&&&&&&&if(is_array($dtp2-&CTags))&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&foreach($dtp2-&CTags&as&$tagid=&$ctag){&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(isset($row[$ctag-&GetName()]))&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$dtp2-&Assign($tagid,$row[$ctag-&GetName()]);&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&elseif&(preg_match('/^sonchannel[0-9]*$/',$ctag-&GetName()))&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$dtp2-&Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&$likeType&.=&$dtp2-&GetResult();&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&if($col&1)&$likeType&.=&"&/dd&\r\n";&&&&&&&&&&&&$GLOBALS['autoindex']++;&&&&&&&&}//Loop&Col&&&&&&&&if($col&1)&&&&&&&&{&&&&&&&&&&&&$i&+=&$col&-&1;&&&&&&&&&&&&$likeType&.=&"&&&&&/dl&\r\n";&&&&&&&&}&&&&}//Loop&for&$i&&&&reset($dsql2);&&&&$dsql-&FreeResult();&&&&return&$likeType;}function&lib_channel_son($ctag,$typeid&=&0,$dsql2){&&&&$attlist&=&"row|100,col|1,currentstyle|";&&&&FillAttsDefault($ctag-&CAttribute-&Items,$attlist);&&&&extract($ctag-&CAttribute-&Items,&EXTR_SKIP);&&&&$innertext&=&$ctag-&GetInnerText();&&&&$dsql3&=&clone&$dsql2;&&&&$likeType&=&'';&&&&//if($_sys_globals['typeid']&0)&$typeid&=&$_sys_globals['typeid'];&&&&if($typeid==0)&{&&&&&&&&return&'';&&&&}&&&&$sql&=&"Select&id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description&&&&&&&&&&From&dede_arctype&where&reid='$typeid'&And&ishidden&&1&order&by&sortrank&asc&limit&0,$row";&&&&//And&id&&'$typeid'&&&&$dtp2&=&new&DedeTagParse();&&&&$dtp2-&SetNameSpace("field","[","]");&&&&$dtp2-&LoadSource($innertext);&&&&$dsql2-&SetQuery($sql);&&&&$dsql2-&Execute();&&&&$line&=&$row;&&&&for($i=0;$i&&&$line;$i++)&&&&{&&&&&&&&if($col&1)&$likeType&.=&"&dl&\r\n";&&&&&&&&for($j=0;$j&$col;$j++)&&&&&&&&{&&&&&&&&&&&&if($col&1)&$likeType&.=&"&dd&\r\n";&&&&&&&&&&&&if($row=$dsql2-&GetArray())&&&&&&&&&&&&{&&&&&&&&&&&&&&&&$row['typelink']&=&$row['typeurl']&=&GetOneTypeUrlA($row);&&&&&&&&&&&&&&&&if(is_array($dtp2-&CTags))&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&foreach($dtp2-&CTags&as&$tagid=&$ctag){&&&&&&&&&&&&&&&&&&&&&&&&if(isset($row[$ctag-&GetName()]))&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&$dtp2-&Assign($tagid,$row[$ctag-&GetName()]);&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&elseif&(preg_match('/^sonchannel[0-9]*$/',$ctag-&GetName()))&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&$dtp2-&Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&$likeType&.=&$dtp2-&GetResult();&&&&&&&&&&&&}&&&&&&&&&&&&if($col&1)&$likeType&.=&"&/dd&\r\n";&&&&&&&&}//Loop&Col&&&&&&&&if($col&1)&&&&&&&&{&&&&&&&&&&&&$i&+=&$col&-&1;&&&&&&&&&&&&$likeType&.=&"&&&&&/dl&\r\n";&&&&&&&&}&&&&}//Loop&for&$i&&&&reset($dsql3);&&&&$dsql2-&FreeResult();&&&&return&$likeType;}?&&二、在模板调用实例:&&{dede:channel&type='son'&typeid='22'}&&&&&&&&&&&&&&[field:typename/]&&&&&&&&&&&&&&&&&&&&&ul&&&&&&&&&&&&&&&&&&&&&[field:sonchannel0]&&&&&&&&&&&&&&&&&&&&&li&&a&href=".cn/[field:typelink/]"&[field:typename/]&/a&&/li&&&&&&&&&&&&&&&&&&&&&&&&&&[field:sonchannel1]&&&&&&&&&&&&&&&&&&&&&&&&&li&&a&href=".cn/[field:typelink/]"&---[field:typename/]&/a&&/li&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[field:sonchannel2]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&li&&a&href=".cn/[field:typelink/]"&===[field:typename/]&/a&&/li&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[field:sonchannel3]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&li&&a&href=".cn/[field:typelink/]"&===[field:typename/]&/a&&/li&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[/field:sonchannel3]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[/field:sonchannel2]&&&&&&&&&&&&&&&&&&&&&&&&&[/field:sonchannel1]&&&&&&&&&&&&&&&&&&&&[/field:sonchannel0]&&&&&&&&&&&&&&&&&&&&&/ul&&{/dede:channel}&&模板调用&&& [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用得(使用[sonchannel+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的&&DEDECMS首页循环调用一级栏目和二级栏目的实现方法 - A5站长网
当前位置:
DEDECMS首页循环调用一级栏目和二级栏目的实现方法
09:20&&来源:&
 DEDECMS作为国内一款非常流行的CMS网站系统,被广大站长所喜爱,很多人都使用DEDE建站。在用dede建站的时候,有些功能,需要根据自己的喜好进行更改或调用。而在dede的官方说明文档中,像如何循环调用一级栏目和二级栏目这个功能就没有具体说明。
  今天影子就给大家分享一下,各位站长朋友所需要的,在dede网站首页实现循环调用一级栏目和二级栏目,以达到网站导航优化的目的。
  下面开讲:
  在首页循环调用一级栏目和二级栏目,如何实现?
  在很多模板中,我们都会看到类似以下的代码。这是用来循环调用某分类下的所有子分类的文章的代码片段。
  --------------------------------
  {dede:channelartlist typeid='3' row='4'}
  & strong & & a href="{dede:field name='typeurl'/}" & {dede:field name='typename'/} & /a &
& a rel="external nofollow" href="[field:arcurl /]"& [field:title /]
  {/dede:arclist}
  {/dede:channelartlist}
  --------------------------------
  从中我们可以看出,这个和循环调用一级栏目和二级栏目有点类似,只是功能上有些差别。我们就可以从此基础上进行二次修改,以实现循环调用一级栏目和二级栏目的目的。
  下面是修改后的实现方法:
  --------------------------------
  {dede:channelartlist}
  & dl class="ilistdh" &
  & dt class="itopdh"& & a href="{dede:field name='typeurl'/}"& {dede:field name='typename'/} & /a &
  & dd class="isondh" &
  {dede:channel type='sun' row='3'}//这里row=3是只调用3个子栏目
  & a rel="external nofollow" href="[field:typeurl /] "& [field:typename /]& /a &
  {/dede:channel}
  & /dd &
  & /dl &
  {/dede:channelartlist}
  --------------------------------
  上面的代码是影子自己网站的调用代码,大家可以根据自己的实际情况进行修改,然后通过css进行美化,即可实现。
  具体效果可参考/ 首页左侧栏目导航即是此方法实现的效果。
作者:imenglei
延伸阅读:关键词:
站长杂谈 草根站长信息中心DEDECMS {dede:sql}标签的列表sql语句调用文章链接静态化_岑溪网站开发工作室
DEDECMS {dede:sql}标签的列表sql语句调用文章链接静态化
发表时间: 14:14 来源:未知 分类:CMS相关 作者:岑溪网站开发 点击:次
很多时候,我在在对DEDECMS运行更多自定义的数据时 需要用到{dede:sql}语法来查询获取自定义列表数据。
DEDE的{dede:sql}标签非常强大,获取列表sql语句调用文章链接静态化连接就需要用到的
&贴上DEDESQL获取列表代码
//html脚本开始
{dede:sql sql='select * from dede_member where mtype=&企业& order by mid limit 0,10'}
标题:[field:uname/]
URL :[field:arcurl/]
{/dede:sql}
像上面的dede模板运行sql语法,可读到数据字段,但是:[field:arcurl/]却得不到结果
& 这时我们需要想办法运行DEDE核心函数来获取静态连接
& 记得以前在对DEDE二次开发时,发现静态连接大概是这样生成的
& GetOneArchive($id); 这个函数就是生成静态连接的,我们可以用dede 的runphp=&yes& 来运行&
&&&代码如下:
//html脚本开始
{dede:sql sql='select * from dede_member where mtype=&企业& order by mid limit 0,10'}
[field:uname/]
[field:id runphp='yes'] $id=@@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]
{/dede:sql}
&&正是 [field:id runphp='yes'] $id=@@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]调用了GetOneArchive($id);来获取静态文章连接。
这样我们就实现了DEDECMS {dede:sql}标签的列表sql语句调用文章链接静态化 如果你觉得 {dede:sql}标签列表取得静态文章地址函数对你有帮助,记得分享哦
&&路有哇技术&岑溪网站开发工作室&致力于DEDECMS二次开发 有什么问题可以联系我!一起学习!
与CMS相关相关的文章:
岑溪网站二次开发
CMS相关年热门榜
CMS相关年推荐榜
岑溪网站开发工作室为企业|个人网站提供定制服务 手机: 接单QQ394781 QQ
Copyright & 2013-
技术:广西岑溪市网站开发工作室织梦DedeCMS调用二级子栏目或者多级栏目解决方法_源码_站长之家
织梦DedeCMS调用二级子栏目或者多级栏目解决方法
[摘要]织梦DEDECMS是集简单、健壮、灵活、开源几大特点的开源内容管理系统,是国内开源CMS的领先品牌,本文介绍织梦DedeCMS调用二级子栏目或者多级栏目解决方法。
  本文是关于织梦DedeCMS调用多级子栏目的,拿来测试分享下。DEDECMS v5.7,后台已建栏目目录,如下图1所示:图1 DEDECMS后台栏目结构  现在,我们先来调用顶级栏目&站长新闻&,以及其下的子栏目,如图2所示:图2 DEDECMS顶级栏目&站长新闻&  当前栏目typeid值为3,所以代码如下: {dede:channelartlist typeid='3,3'}&a href=&{dede:field name='typeurl'/}&&{dede:field name='typename'/}&/a&&hr&&!-- 这里我们加一个横线,已区分顶级栏目、子栏目,此处为注释文字,可以删除--&{dede:channel type='son' noself='yes'}&a href=&[field:typelink/]&&[field:typename/]&/a&&br /&{/dede:channel}{/dede:channelartlist}   效果图如下:图3 DEDECMS调用栏目效果  我们再来调用二级栏目&互联传闻&,以及其下的子栏目,栏目结构如图4: 图4 DEDECMS顶级栏目互联新闻  其栏目typeid值为5,所以代码如下:
{dede:channelartlist typeid='5,5'}&a href=&{dede:field name='typeurl'/}&&{dede:field name='typename'/}&/a&&hr&&!-- 这里我们加一个横线,已区分顶级栏目、子栏目 --&{dede:channel type='son' noself='yes'}&a href=&[field:typelink/]&&[field:typename/]&/a&&br /&{/dede:channel}{/dede:channelartlist}   效果图如下:图5 DEDECMS调用新闻效果  接下来,我们来调用两个栏目(站长新闻、互联新闻),以及他们各自的子栏目,他们对应typeid为3和5,所以代码如下:{dede:channelartlist typeid='3,5'}&a href=&{dede:field name='typeurl'/}&&&b&{dede:field name='typename'/}&/b&&/a&(上一级栏目)&br&{dede:channel type='son' noself='yes'}&a href=&[field:typelink/]&&[field:typename/]&/a&&br /&{/dede:channel}&hr&&!-- 这里我们加一个横线,区分2个不同栏目的调用效果 --&{/dede:channelartlist}   效果图如下: 软件大小:7.13MB 软件类别:国产软件 |
软件语言:简体中文 运行环境:PHP/Mysql 软件授权:免费版 更新时间: 9:36:46 相关链接: 本文来自:
本次DEDECMS教程小编为大家讲解DEDECMS列表页中随机调用缩略图的方法,默认的缩略图是取第一张图片,通过修...
热门源码下载推荐
最受关注报导
编辑推荐排行

我要回帖

更多关于 dede调用二级栏目 的文章

 

随机推荐