如何用自定义标签实现下面的效果
文章中心: 栏目1;;栏目2;;栏目3
图片中心: 栏目1;;栏目2;;栏目3
下载中心: 栏目1;;栏目2;;栏目3
...............
我们可以定义两个自定义标签来实现.
1.定义一个动态标签用来循环频道.{$MY_循环频道}
2.定义一个函数标签用来取出相应频道的栏目列表{$MY_取频道栏目}
动态标签设置如下
标签名{$MY_循环频道}
sql语句
select; * from PE_Channel where ChannelID in (select distinct ChannelID from PE_Class)
优先级:2
标签内容
{Loop}
{Infobegin}
<table> <tr>
<td>{$Field(1,Text,0,0,0)}</td>{$MY_取频道栏目({$Field(0,Text,0,0,0)})}
</tr></table>
{Infoend}
{/Loop}
也就是说我们在这个标签的内容里面调用另外一个标签,并把ChannelID作为参数传递过去,来实现循环取出栏目的效果
函数标签设置如下
标签名{$MY_取频道栏目}
优先级:1
参数:一个
sql语句
select * from PE_Class where ChannelID={input(0)}
标签内容
{Loop}{Infobegin}<td><a href="{$Field(0,GetClass,1)}">{$Field(2,Text,0,0,0)}</a></td>{Infoend}{/Loop}
然后我们在模版页里面插入{$MY_循环频道}就可以循环取出频道的栏目