织梦arclist调用嵌套tag标签教程


有的时候我们的织梦网站列表页,或是首页,需要在arclist标签里面加上当前文章的标签。

  如何实现呢?

  用织梦提供的tag标签:

          {dede:tag row=’10’ getall=’1′ sort=’month’}

            <li><a href='[field:link/]’>[field:tag /]</a></li>

          {/dede:tag}

 

   这个标签无法实现,因为,无论是列表还是首页,调用出来的文章都是循环的,即在{dede:list}{/dede:list} 或{dede:arclist }{/dede:arclist}

   在这里面是无法嵌套的。

  下面是错误的:

{dede:arclist}

          {dede:tag row=’10’ getall=’1′ sort=’month’}

            <li><a href='[field:link/]’>[field:tag /]</a></li>

          {/dede:tag}

{/dede:arclist}

  错误原因是标签arclist不能嵌套另外的标签。

解决方法:

  使用织梦提供的php接口:[field:id runphp=yes] ……[/field:id]

  完整的标签是:

{dede:arclist}
<p>标签 : [field:id runphp=yes]
global $dsql;
$tags = '';
$query = "SELECT tag FROM `dede_taglist` WHERE aid='@me' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a>, ";
}
@me=$tags;
[/field:id]</p>
   {/dede:arclist}

 

  下面是伪静态,可以不用看,自己测试一下。

还有是我自己弄的伪静态那个 调用了两个字段

[field:id runphp=yes]global $dsql;$tags = ”;$query = “SELECT tid,tag FROM `dede_taglist` WHERE aid=’@me’ “;$dsql->Execute(‘tid,tag’,$query);while($row = $dsql->GetArray(‘tid,tag’)){$tags .= “<a href=’/t-“.urlencode($row[‘tid’]).”.html’>”.$row[‘tag’].”</a>”;}@me=$tags;[/field:id]

  总结:

  如果你会php,那么,通过织梦提供的runphp=yes就可以调用很多不能嵌套的问题,这个功能非常有用,当然,一般的人也用不到这个,对于仿站,或是做二次开发也许会用到。