第一篇 channel和channelartlist标签详解

来源:互联网 发布:知乎 智障小说 编辑:程序博客网 时间:2024/04/29 16:54

channel标签用来显示网站的频道,有多种用法,涉及到换行、分列等功能。网上的资料有限,下面我们就结合默认模板详细讲解一下这个标签的用法。 ¢channel|频道标签 标签名称: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}
相关函数:
文件\include\taglib\channel.lib.php第2行
function lib_channel(&$ctag,&$refObj)
参数说明:
typeid = '0' 栏目ID    type = ‘son | sun’ son表示下级栏目,self表示同级栏目,top顶级栏目
reid = ‘0’ 上级栏目ID
row = ‘100’ 调用栏目数
col = ‘1’ 分多少列显示(默认为单列)
currentstyle = '' 应用样式
底层模板字段 ID(同 id),typeid, typelink, typename, typeurl,typedir(仅表示栏目的网址) 例: {dede:channel type='top'} <a href='[field:typelink /]'>[field:typename/]</a> {/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类   ¢频道的分列显示  除了在channel里面设置col属性外,还要在dedecms.css中添加对dl标签的格式控制。如下:  #navMenu dl{  width:500px;  margin-right:8px;  margin-top:2px; } 另外需要更改#navMenu的高度控制。 并且指定新的背景,如下: .blue .top {  background-image: url("../images/green_skin2.png");  background-position: 0 -108px;  background-repeat: repeat-x;  height: 100px; } .blue .top .t_l {  background-position: 0 72px;  background-repeat: no-repeat;  height: 70px;  width: 5px; } .blue .top .t_r {  background-position: -6px 72px;  background-repeat: no-repeat;  height: 70px;  width: 5px; } ¢type|指定栏目 ¢标签名称:type
功能说明:表示指定的单个栏目的链接
适用范围:全局使用
基本语法:
{dede:type}
< a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
相关函数:
文件\include\taglib\type.lib.php第5行
function lib_type(&$ctag,&$refObj)
参数说明:
typeid='' 指定栏目ID
底层模板字段:
typename,typelink(仅表示栏目的网址), 栏目表dede_arctype的所有字段
使用实例:
如果不指定typeid£¬默认为0,这时候获取栏目会根据栏目的环境变量改变而改变   ¢channelartlist|频道文档 ¢标签名称: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}
相关函数:
文件\include\taglib\channelartlist.lib.php第6行
function lib_channelartlist(&$ctag,&$refObj)
参数说明:
typeid = '0' 频道ID,多个请用","分隔 row = '20' 获取的栏目返回值 其他说明: 除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套 {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
底层模板变量:
包含{dede:type}{/dede:type}及{dede:arclist}{/dede:arclist}下面所有底层模板变量。   ¢频道的分组显示    如果频道很多要在一页的不同位置以不同的格式显示,这时可以使用channelartlist和type的组合。  

<ul> 

{dede:channelartlist typeid='1,51,6,7,8,9' row=6}   

    <dl><dd>     

         {dede:type}

                <li><a href="[field:typeurl /]"><span>[field:typename /]</span></a></li>

{/dede:type}   

    </dd></dl>   

{/dede:channelartlist}    

 </ul><br> 

 <ul>

{dede:channelartlist typeid='10,11,12,54,55,56,57' row=7}

         <dl> <dd>

         {dede:type}

                <li><a href="[field:typeurl /]"><span>[field:typename /]</span></a></li>

         {/dede:type}

         </dd></dl>

{/dede:channelartlist} 

</ul> 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>