自定义两个标签,glist和channel,glist嵌套于channel,需要channel传递一个值
protected $tags = array (//attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
'glist' => array ('attr' => 'row,typeid, 'level' => 1),
'channel' => array ('attr' => 'limit,id,orderby', 'level' => 1),
);_glist我在这就不写了,关键是channel怎么写,_channel上面一部分我也不写了,只需要在最后面加一句话 $parsestr = '<?php $_result='.$sql.'; if ($_result): $'.$key.'=0;';
$parsestr .= 'foreach($_result as $key=>$'.$result.'):';
$parsestr .= '++$'.$key.';$mod = ($'.$key.' % '.$mod.' );?>';
$parsestr .= $content;
$parsestr .= '<?php endforeach; endif;?>';
$parsestr=str_replace("typeid=ch.aid","typeid=\$ch[aid]",$parsestr);
return $parsestr; 然后在贴出模板里代码:<wj:channel id='1'>
<a href="{$ch.typedir}">{$ch.aname}</a><br/>
<wj:arclist typeid="ch.aid">
二级栏目:<a href="{$vo.arcurl}">{$vo.title}</a><br/>
</wj:arclist>
</wj:channel>$parsestr=str_replace("typeid=ch.aid","typeid=\$ch[aid]",$parsestr);这一句关键,你们懂的. 最佳答案