标签 dede 下的文章

dede导航栏调用一二级栏目的方法


1.使用dede的标签来调用

  {dede:channelartlist typeid='top' row='8'}
  
  • {dede:field name='typename'/}
  • {/dede:channelartlist}

    优点:DEDE的标签不会出错,可能效率更好
    缺点:无法调用外部链接的栏目

    2.使用dede的PHP标签来调用

      {dede:php}
        $sql = 'SELECT id,typedir,typename from jifu_arctype where reid = 0 ORDER BY sortrank LIMIT 8';
    	$dsql->Execute(1,$sql);
    	while($row = $dsql->GetArray(1)){
    		$row['typedir'] = str_replace('{cmspath}','',$row['typedir']);
    		echo "
  • ".$row['typename']."
      "; $sql2 = "SELECT typedir,typename from jifu_arctype where reid = ".$row['id']." ORDER BY sortrank LIMIT 5"; $dsql->Execute(2,$sql2); while($row2 = $dsql->GetArray(2)){ $row2['typedir'] = str_replace('{cmspath}','',$row2['typedir']); echo "
    • ".$row2['typename']."
    • "; } echo "
  • "; } {/dede:php}

    优点:可以通过转换SQL语句调用自己任何想调用的栏目。
    缺点:代码繁琐,不好读,PHP来调用可能会带来未知的错误。


    dede PHP标签 简介


    dede的标签虽然强大,但是很多功能还是无法很好的实现。此时可以使用其PHP标签,即在模板中写PHP语句来得到任何自己想要的东西。

    标签名称:{dede:php} {/dede:php}

    举2个小例子来证明其可以做任何事情:
    1.输出1-100

    {dede:php}
    for($i=0;$i<100;$i++){
        echo $i.'';
    }
    {/dede:php}
    

    2.输出当前页面所在的顶级栏目名称

    {dede:php}
    if($refObj->Fields['reid']==0){
    	echo $refObj->Fields['title'];
    }else{
    	$reid = $refObj->Fields['reid'];
    	$row=$dsql->GetOne('SELECT id,reid,typename from jifu_arctype where id = '.$reid);
    	echo $row['typename'];
    }
    {/dede:php}