织梦怎么调用文章页标题、关键字、描述,是文章页的。
个人认为如果你是用 form表单提交登录信息, 成功后会重新刷新headhtml页面是吧, 这样就不会预加载indexhtm中的JS脚本
其实做无刷新或局部刷新网页,AJAX是最好的选择,远远不必看一堆的HTML不停地嵌套
1、标签名称:adminname
功能说明:
获得责任编辑名称
使用实例:
{dede:adminname /}
2、标签名称:arclist
功能说明:
文章列表调用标记
使用实例:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
titlelen = '30' 标题长度 等同于titlelength
infolen='160' 表示内容简介长度 等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型(顶级栏目??)
orderby='sortrank' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')
flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗
noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
subday='天数' 表示在多少天以内的文档
3、标签名称:arclistsg
功能说明:
单表模型的文章列表调用标记
使用实例:
{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclistsg}
参数说明:
col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
titlelen = '30' 标题长度 等同于titlelength
orderwey='desc'或'asc' 排序方向
keyword= 含有指定关键字的文档列表,多个关键字用","分
innertext = "[field:title/]" 单条记录样式(innertext是放在标签之间的代码)
arcid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid = '' 频道ID
limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')
flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗
subday='天数' 表示在多少天以内的文档
4、标签名称:autochannel
功能说明:
按排序位置的获取单个栏目的链接信息
使用实例:
{dede:autochannel partsort='' typeid=''}{/dede:autochannel}
参数说明:
partsort = '0' 栏目所在的排序位置
typeid = '0' 指定的父栏目
5、标签名称:channel
功能说明:
获取栏目列表标签
使用实例:
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>
{/dede:channel}
参数说明:
typeid = '0' 栏目ID
reid = '0' 上级栏目ID
row = '100' 调用栏目数
col = '1' 分多少列显示(默认为单列)
type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目
currentstyle = '' 应用样式
6、标签名称:channelartlist
功能说明:
获取当前频道的下级栏目的内容列表标签
使用实例:
{dede:channelartlist row=6}
<dl>
<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>
<dd>
{dede:arclist titlelen='42' row='10'} <ul class='autod'>
<li><a href="[field:arcurl /]">[field:title /]</a></li>
<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>
</ul>
{/dede:arclist}
</dl>
{/dede:channelartlist}
参数说明:
typeid = '0' 频道ID,多个请用","分隔
row = '20' 获取的栏目返回值
其他说明:
除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
7、标签名称:demotag
功能说明:
这仅是一个演示标签
使用实例:
{dede:demotag /}
8、标签名称:feedback
功能说明:
调用最新评论
使用实例:
{dede:feedback}
<ul>
<li class='fbtitle'>[field:username function="(@me=='guest' '游客' : @me)"/] 对 [field:title/] 的评论:</li>
<li class='fbmsg'> <a href="plus/feedbackphpaid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>
</ul>
{/dede:feedback}
参数说明:
row='12' 调用评论条数
titlelen='24' 标题长度
infolen='100' 评论长度
9、标签名称:flink
功能说明:
友情链接
使用实例:
{dede:flink row='24'/}
参数说明:
type='image' 或textall,链接,text文字链接;
row='24' 链接数量
titlelen='24' 站点文字的长度
linktype='1' 链接位置(首页,内页)
typeid='0' 所有类型
10、标签名称:hotwords
功能说明:
获取网站搜索的热门关键字
使用实例:
{dede:hotwords /}
参数说明:
num='6' 关键词数目
subday='365' 天数
maxlength='16' 关键词最大长度11、标签名称:infoguide
功能说明:
分类信息的地区与小分类搜索
使用实例:
{dede:infoguide /}
12、标签名称:likepage
功能说明:
单页文档相同标识调用标签
使用实例:
{dede:likepage likeid='' row=''/}
参数说明:
row = '' 调用条数
likeid = '' 标识名
13、标签名称:likesgpage
功能说明:
单页文档调用标签
使用实例:
{dede:likespage row=''/}
参数说明:
row = '' 调用条数
14、标签名称:loop
功能说明:
调用任意表的数据标签
使用实例:
{dede:loop table='dede_archives' sort='' row='4' if=''}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:loop}
参数说明:
table = '' 查询表名
sort = '' 用于排序的字段
row = '' 返回结果的条数
if = '' 查询的条件
15、标签名称:memberinfos
功能说明:
文档关连的用户信息
使用实例:
{dede:memberinfos /}
参数说明:
无属性,支持 innertext
16、标签名称:memberlist
功能说明:
会员信息调用标签
使用实例:
{dede:memberlist orderby='scores' row='20'}
<a href="/member/indexphpuid={dede:fielduserid /}">{dede:fielduserid /}</a>
<span>{dede:fieldscores /}</span>
{/dede:memberlist}
参数说明:
orderby = 'scores' 按积分排序
row = '6' 调用数目
17、标签名称:myad
功能说明:
广告调用
使用实例:
{dede:myad name=''/}
参数说明:
typeid='0' 投放范围,0为全站
name='' 广告标识
18、标签名称:mynews
功能说明:
站内新闻调用标签
使用实例:
{dede:mynews row='' titlelen=''/}
参数说明:
row='1' 调用站内新闻数
titlelen='24' 新闻标题长度
19、标签名称:mytag
功能说明:
自定义宏标记调用标签
使用实例:
{dede:mytag typeid='0' name=''/}
参数说明:
typeid = '0' 栏目ID 0为全站栏目
name = '' 标记名
20、标签名称:softmsg
功能说明:
下载说明标签
使用实例:
{dede:softmsg /}
21、标签名称:sonchannel
功能说明:
子栏目调用标签
使用实例:
{dede:sonchannel}
<a href='[field:typeurl/]'>[field:typename/]</a>
{/dede:sonchannel}
参数说明:
row ='100' 返回数目
col = '1' 默认单列显示
22、标签名称:sql
功能说明:
SQL标签
使用实例:
{dede:sql sql=''}
[field:title/]
{/dede}
参数说明:
sql='' 完整的SQL语句
23、标签名称:tag
功能说明:
TAG调用标签
使用实例:
{dede:tag row='30' sort='new'/}
参数说明:
row='30' 调用条数
sort='new' 排序方式 month,rand,week
24、标签名称:type
功能说明:
指定的单个栏目的链接标签
使用实例:
{dede:type}
<a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
参数说明:
typeid='' 指定栏目ID
25、标签名称:vote
功能说明:
投票标签
使用实例:
{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/}
参数说明:
id='' 数字,当前投票ID
lineheight='24' 表格高度
tablewidth='100%' 表格宽度
titlebgcolor='#EDEDE2' 投票标题背景色
titlebackground=''
tablebg ='' 投票表格背景色
为了更方便修改样式,建议在后台->辅助插件->投票管理,直接复制生成的HTML代码来使用 《 幻为您专业解答》
你需要的标签:<title>{dede:fieldtitle/}_{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:fieldkeywords/}" />
<meta name="description" content="{dede:fielddescription function='html2text(@me)'/}" />
另附:
DEDE全站通用标签:
根网址:
{dede:globalcfg_cmsurl/}/style/
标签里面的根网址:
[field:globalcfg_cmsurl/]
网站域名:
{dede:globalcfg_basehost/}
模板路径:
{dede:globalcfg_templets_skin/}
标题:
<title>{dede:globalcfg_webname/} </title>
<meta name="description" content="{dede:globalcfg_description/}" />
<meta name="keywords" content="{dede:globalcfg_keywords/}" />
频道页标题、关键字:
<title>{dede:fieldtitle/}_{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:field name='keywords'/}" />
<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" />
摘要:
[field:description function='cn_substr(@me,110)'/]
日期:
[field:pubdate function=MyDate('m-d',@me)/]
[field:pubdate function=MyDate('20y-m-d',@me)/]
点击:[field:click/]
调用其他模板文件
{dede:include filename="headhtm"/}
当前位置:
{dede:field name='position'/}
seo标题
{dede:fieldseotitle /}
文章ID:
[field:id/]
排序:
{dede:arclist row=5 orderby=pubdate titlelen=18}
[field:autoindex runphp='yes']@me=$GLOBALS['autoindex']-1;[/field:autoindex]
{/dede:arclist}
文章标题:
[field:title/]
文章链接地址:
[field:arcurl/]
简略标题:
[field:shorttitle/]
文章列表:
{dede:arclist typeid='' row='1' titlelen='24' orderby='pubdate'}
<a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a>
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
文章显示:
<li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
调用:
{dede:arclist row='1' typeid='' titlelen='24' orderby='pubdate' type='image'}
[field:picname/]
{/dede:arclist}
{dede:fieldlitpic/}
商品文章页:
dede调用标签:
<img src={dede:fieldlitpic/}>
{dede:fieldlitpic/}
[field:imglink/]=<a href='[field:arcurl/]'><img src='[field:picname/]' border='0' width='imgwidth' height='imgheight'></a>
DEDE-列表/栏目页标签:
栏目内容:
{dede:fieldcontent/}
调用分类信息:
{dede:arclist row=5 orderby=pubdate typeid='37' imgwidth='124' imgheight='96'}
{dede:arclistsg orderby=’id’ titlelen=’24′ row=’10′ channelid=’-8′ typeid=’1,2′}
{/dede:arclistsg}
栏目列表页list标签:
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]" class="title">[field:title/]</a> <span class="info">
<p class="intro">
[field:description/]
</p>
</li>
{/dede:list}
列表分页/页码:
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
主目录:
<ul>
<li><a href='{dede:globalcfg_cmsurl/}/'><span>主页</span></a></li>
{dede:channel type='top' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li>
{/dede:channel}
</ul>
<li><a href='{dede:globalcfg_cmsurl/}/'><span>主页</span></a></li>
{dede:channel type='top' row='10'}
<li><a href='[field:typeurl/]'><span>[field:typename/]</span></a></li><li class="line"></li>
{/dede:channel}
栏目,目录调用
<ul>
<li><a href='{dede:globalcfg_cmsurl/}/'><span>主页</span></a></li>
{dede:channel type='top' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li>
{/dede:channel}
</ul>
<UL>
{dede:channel typeid=39 type='son' noself='yes'}
<LI><a href="[field:typeurl/]">[field:typename/]</a></LI>
{/dede:channel}
</UL>
[field:typelink/]
带标题的二级目录链接
<a href="[field:typeurl/]" title='[field:typename/]'>[field:typename/]</a>
{dede:ask row='6' qtype='new' tid='0' titlelen='24'}
<dd>
<span class="tclass">[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span>
<span class="tlink"><a href="[field:url/]">[field:title/]</a></span>
</dd>
{/dede:ask}
频道头条:
{dede:arclist flag='h' limit='0,1'}
问答模块标签
{dede:ask row='3' qtype='ok' tid='0' titlelen='26'}
<li>
[<a href='[field:typeurl/]'>[field:tidname/]</a>]
<a href="[field:url/]">[field:title/]</a>
</li>
{/dede:ask}
DEDE-文章页标签:
<title>{dede:fieldtitle/}_{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:fieldkeywords/}" />
<meta name="description" content="{dede:fielddescription function='html2text(@me)'/}" />
文章正文标题
{dede:fieldtitle/}
时间:
{dede:fieldpubdate function="MyDate('Y-m-d H:i',@me)"/}
来源:
{dede:fieldsource/}
作者:
{dede:fieldwriter/}
点击:
<script src="{dede:field name='phpurl'/}/countphpview=yes&aid={dede:field name='id'/}&mid={dede:fieldname='mid'/}" type='text/javascript' language="javascript"></script>
摘要:
{dede:fielddescription runphp='yes'}
if(@me<>'' )@me = '<div class="intro">'@me'</div>';
{/dede:fielddescription}
文章正文内容:
{dede:fieldbody/}
{dede:field name='title'/}
文章商品:
{dede:fieldlitpic/}
{dede:fieldlitpic/}
商品内页:
<small>商品原价:</small><span>{dede:fieldprice/}元</span>
<small>优惠价格:</small><span class="fc-f60">{dede:fieldtrueprice/}元</span>
<small>品牌:</small><span>{dede:fieldbrand/}</span>
<small>单位:</small><span>{dede:fieldunits/}</span>
<small>上架日期:</small><span>{dede:fieldpubdate function="MyDate('y-m-d H:i',@me)"/}</span>
<small>人气:</small><span><script src="{dede:field name='phpurl'/}/countphpview=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script></span>
<form id="formcar" name="formcar" method="post" action="{dede:field name='phpurl'/}/posttocarphp">
<input type="hidden" name="id" value="{dede:fieldid/}" />
<input type="hidden" name="title" value="{dede:fieldtitle/}" />
<input type="hidden" name="price" value="{dede:fieldtrueprice/}" />
<input type="hidden" name="units" value="{dede:fieldunits/}" />
<small>购物车:</small><span><a href="{dede:field name='phpurl'/}/carphp" target="_blank">查看购物车</a></span>
<small>购买:</small><span><button type="submit" name="button" class="btn-2">放入购物车</button></span>
DEDE-频道页标记:
{dede:channelartlist}
<dl class="tbox">
<dt><strong><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></strong><span class="more"><a href="{dede:field name='typeurl'/}">更多</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen='60' row='8'}
<li><span class="date">[field:pubdate function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
上一篇下一篇
{dede:prenext get='pre'/}
{dede:prenext get='next'/}
新增字段:
{dede:arclist typeid='45' row='8' imgwidth='105' imgheight='105' titlelen='16' addfields='trueprice,price' channelid='6' }
市场价¥[field:price /]
优惠价¥[field:trueprice /]
{/dede:arclist}
DEDE-其他标签:
备案:
{dede:globalcfg_beian/}
版权:
{dede:globalcfg_powerby/}
友情链接:自带li标记
{dede:flink row='24'/}
去掉li标签:
{dede:flink linktype='2' row='24'}[field:link /]{/dede:flink}
{dede:flink linktype='2' row='24' typeid="1"}[field:link /]|{/dede:flink}
A标签的友情链接:
{dede:flink type='textall' row='10'}
<a href="[field:url/]" target=_blank class="font-size3 color4">[field:webname/]</a>
{/dede:flink}
SQL代码
直接从数据库调用友情链接{dede:sql sql="Select From dede_flink where logo = '' order by id desc"}<a target="_blank" href="[field:url/]" title="[field:webname/]">[field:webname/]</a>{/dede:sql}
dede标签调用:
{dede:tag row='10' getall='1' sort='month'}
<li><a href='[field:link/]'>[field:tag /]</a></li>
{/dede:tag}
栏目链接标签:
<a href="{dede:type typeid='0' row=1}[field:typelink /]{/dede:type}">查看本类全部内容</a>
指定调用栏目标签: {dede:onetype typeid='ID'}[field:typename /]{/dede:onetype}
频道栏目调用标签:
{dede:channel type='self' typeid='7'}<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
{dede:channel type='self' typeid='7' row='1'}<a href='[field:typelink/]'>[field:typename/]</a>{/dede:channel}
调用一个栏目:
{dede:type typeid='8'}
<a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
限制行数标签:
{dede:arclist typeid='' row='2' limit='0,1' titlelen='24' orderby='pubdate'}
去掉标题的幻灯片代码:
<!-----幻灯片------->
<script language='javascript'>
linkarr = new Array();
picarr = new Array();
textarr = new Array();
var swf_width=546;
var swf_height=126;
//文字颜色|文字位置|文字背景颜色|文字背景透明度|按键文字颜色|按键默认颜色|按键当前颜色|自动播放时间|过渡效果|是否显示按钮|打开方式
var configtg='0xffffff||0x3FA61F|5|0xffffff|0xC5DDBC|0x000033|4|3|1|_blank';
var files = "";
var links = "";
var texts = "";
//这里设置调用标记
{dede:arclist flag='f' row='5'}
linkarr[[field:globalautoindex/]] = "[field:arcurl/]";
picarr[[field:globalautoindex/]] = "[field:litpic/]";
{/dede:arclist}
for(i=1;i<picarrlength;i++){
if(files=="") files = picarr[i];
else files += "|"+picarr[i];
}
for(i=1;i<linkarrlength;i++){
if(links=="") links = linkarr[i];
else links += "|"+linkarr[i];
}
documentwrite('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownloadmacromediacom/pub/shockwave/cabs/flash/swflashcab#version=6,0,0,0" width="'+ swf_width +'" height="'+ swf_height +'">');
documentwrite('<param name="movie" value="{dede:globalcfg_cmsurl/}/style/images/bcastr3swf"><param name="quality" value="high">');
documentwrite('<param name="menu" value="false"><param name=wmode value="opaque">');
documentwrite('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&bcastr_config='+configtg+'">');
documentwrite('<embed src="{dede:globalcfg_cmsurl/}/style/images/bcastr3swf" wmode="opaque" FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_config='+configtg+'&menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage="http://wwwmacromediacom/go/getflashplayer" />'); documentwrite('</object>');
</script>
<!-----幻灯片------->
文章原文地址:
<a href="{dede:globalcfg_basehost/}{dede:field name='arcurl'/}">{dede:globalcfg_basehost/}{dede:field name='arcurl'/}</a>
注:以上内容由Braineo总结编辑并提供。
一、打开dedecms梦想管理后台,使用管理员账户密码登录。
二、单击核心-网站列管理-选择列并单击更改。
三、在“常规选项”“高级选项”列内容中,选择“高级选项”,填写列的SEO标题,复制代码[{Dede:字段。Seotitle/}),记住列模板[list u article]的名称。,然后单击下面的“确定”进行保存。
四、单击“模板默认模板管理”以查找模板文件名list articlehtm,然后单击模板后的“修改”以打开“修改模板代码”页。
五、打开list_articlehtm代码页面,找到<title>标题,将{dede:fieldtitle /}修改为
{dede:fieldseotitle /},点击保存。
六、默认情况下,dedecms梦想编织程序生成静态HTML页面,因此在预览列HTML文档之前,您需要执行最后一步来更新它。单击generate-update column HTML-update all-generatehtml打开列页面,您可以看到更改的标题。
方法和详细的操作步骤如下:
1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。
一、修改文件:\include\taglib目录下的channellibphp,请将以下代码全部复制替换上述文件
<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_listhtm");
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='改成你的大栏目ID'}[field:typename/]
<ul>
[field:sonchannel0]
<li><a href="[field:typelink/]">[field:typename/]</a></li>
[field:sonchannel1]
<li><a href="[field:typelink/]">---[field:typename/]</a></li>
[field:sonchannel2]
<li><a href="[field:typelink/]">===[field:typename/]</a></li>
[field:sonchannel3]
<li><a href="[field:typelink/]">===[field:typename/]</a></li>
[/field:sonchannel3]
[/field:sonchannel2]
[/field:sonchannel1]
[/field:sonchannel0]
</ul>
{/dede:channel}
模板调用 [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用的(使用[sonchannel+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)
这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的。
0条评论