dedeCMS中的标签"channelartlist” 来获得频道的下级栏目的内容列表
2012-08-14 21:07
671 查看
转载自: http://help.dedecms.com/manual/tagmanual/DedeTagmanual_Finnal/channelartlist.htm
标记简介:
功能说明:获取当前频道的下级栏目的内容列表标签
适用范围:全局使用
基本语法:
相关函数:
文件\include\taglib\channelartlist.lib.php第6行
参数说明:
如以上代码所示:
typeid = '0' 频道ID,多个请用","分开,如果调用1个栏目可以使用typeid='5,0'来调用。
分隔 row = '20' 获取的栏目返回值 其他说明: 除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套 {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
底层模板变量:
包含{dede:type}{/dede:type}及{dede:arclist}{/dede:arclist}下面所有底层模板变量。
使用实例:
这个标签是系统中不多的一个支持嵌套的标签,这个标签通常使用在首页(含封面首页),用于输出一组栏目内容列表,我们可以看到默认模板首页:
这部分的内容就是通过这个标签进行显示的,我们可以查看首页模板\templets\default\index.htm120行
在一个模板上去加入上面讲到的index.htm 120行代码,也确实出现栏目文章列表,但文章是直接列出来的,并没有样式:
2、解决方法
在加入的代码中控制样式的有两个:
(1)<div class="listbox">
我们在模板中所有样式控制的css文件夹中(templets\default\style\)找到:
从以上看,它只是控制布局及边框大小,颜色而已。
(2) <dl class="tbox">
这个才是控制存放文章列表的小框样式的,
我们在模板中所有样式控制的css文件夹中(templets\default\style\)找到它存在多个文件中:
(2、1)在dedecms_skin_1.css中有
(2、2)在dedecms_skin_2.css中有
(2、3)在dedecms_skin_3.css中、在dedecms_skin_2.css中、在dedecms_skin_5.css中
(2、4)在layout.css中
从以上看出控制样式.tbox定义的文件是存在的,那么为什么没有样式效果呢?
原来是在index.htm中没有把样式的css文件加入,解决方法就是加入css文件;我选择加入dedecms.css,因为在dedecms.css中有:
改完后样式效果出来了:
一、官方介绍
标签名称: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)
function lib_channelartlist(&$ctag,&$refObj){
global $dsql,$envs,$_sys_globals;
//处理标记属性、innertext
$attlist = 'typeid|0,row|20,cacheid|';
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = trim($ctag->GetInnerText());
$artlist = '';
//读取固定的缓存块
$cacheid = trim($cacheid);
if($cacheid !='') {
$artlist = GetCacheBlock($cacheid);
if($artlist!='') return $artlist;
}
参数说明:
如以上代码所示:
typeid = '0' 频道ID,多个请用","分开,如果调用1个栏目可以使用typeid='5,0'来调用。
分隔 row = '20' 获取的栏目返回值 其他说明: 除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套 {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
底层模板变量:
包含{dede:type}{/dede:type}及{dede:arclist}{/dede:arclist}下面所有底层模板变量。
使用实例:
这个标签是系统中不多的一个支持嵌套的标签,这个标签通常使用在首页(含封面首页),用于输出一组栏目内容列表,我们可以看到默认模板首页:
这部分的内容就是通过这个标签进行显示的,我们可以查看首页模板\templets\default\index.htm120行
{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}
二、实践当中遇到的问题及解决方法
1、遇到的问题在一个模板上去加入上面讲到的index.htm 120行代码,也确实出现栏目文章列表,但文章是直接列出来的,并没有样式:
2、解决方法
在加入的代码中控制样式的有两个:
(1)<div class="listbox">
我们在模板中所有样式控制的css文件夹中(templets\default\style\)找到:
.index .listbox{ width:720px; overflow:hidden; float:left; clear:both; overflow:hidden; }
.index .listbox ul a{ color:#666; }
从以上看,它只是控制布局及边框大小,颜色而已。
(2) <dl class="tbox">
这个才是控制存放文章列表的小框样式的,
我们在模板中所有样式控制的css文件夹中(templets\default\style\)找到它存在多个文件中:
(2、1)在dedecms_skin_1.css中有
.tbox{ background:url(../images/blue_skin.png) 0 -294px repeat-x; border-bottom:1px solid #BFD2E1; }
.tbox dt{ border:1px solid #BFD2E1; }
(2、2)在dedecms_skin_2.css中有
.tbox{ background:url(../images/red_skin.png) 0 -294px repeat-x; border-bottom:1px solid #e8ceae; }
(2、3)在dedecms_skin_3.css中、在dedecms_skin_2.css中、在dedecms_skin_5.css中
(2、4)在layout.css中
.tbox{ margin:0 0 8px 0; border-bottom:1px solid #BADAA1; overflow:hidden; background:url(../images/green_skin.png) 0 -294px repeat-x; }
从以上看出控制样式.tbox定义的文件是存在的,那么为什么没有样式效果呢?
原来是在index.htm中没有把样式的css文件加入,解决方法就是加入css文件;我选择加入dedecms.css,因为在dedecms.css中有:
/*** * DedeCMS v5.6 Style (Default Style) * dedecms.com Author Networker 2010.02.05 **/ /*---------- import ---------*/ @import url("layout.css"); @import url("page.css"); @import url("286admin.css");
改完后样式效果出来了:
相关文章推荐
- dedeCMS中的标签"channelartlist” 来获得频道的下级栏目的内容列表
- dedecms标签:channelartlist当前频道的下级栏目的内容列表
- dede频道标签channel和频道内容标签channelartlist的调用栏目名的不同方式,如果错误使用标签会发生错误
- dedecms使用channelartlist标签循环输出有二级栏目的导航时,显示一级栏目的当前样式?
- dedecms二级栏目分类 使用channelartlist标签实现当前栏目高亮
- dedecms用channelartlist标签循环输出导航时,判断一级栏目下是否有子栏目的方法?
- dedecms 获取当前频道的下级栏目的内容列表
- DEDECMS首页频道channelartlist标签通过typeid属性排序方法
- 根据栏目ID调用子栏目列表(dede:channelArtlist)
- channelartlist标签不能调用外部链接栏目的解决办法
- dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"
- dede使用channelartlist在列表页和内容页调用同级栏目的方法
- dedecms中给channelartlist标签加limit属性
- channel标签智能获得当前栏目下级栏目或同级栏目
- dedecms标签:channel获取栏目列表标签
- 织梦channelartlist标签当前栏目高亮
- 让dedecms的channelartlist标签支持channelid属性
- 修改dedecms之channelArtlist标签,去掉table
- dedecms让channelartlist标签支持currentstyle属性方
- DedeCMS 栏目属性:最终列表、频道封面、外部连接以及栏目内容