|
有的时候我们的织梦网站列表页,或是首页,需要在arclist标签里面加上当前文章的标签。
如何实现呢?
用织梦提供的tag标签:
{dede:tag row='10' getall='1' sort='month'}
[*,[url=[field:link/],[field:tag /][/url]
{/dede:tag}
这个标签无法实现,因为,无论是列表还是首页,调用出来的文章都是循环的,即在{dede:list}{/dede:list} 或{dede:arclist }{/dede:arclist}
在这里面是无法嵌套的。
下面是错误的:
{dede:arclist}
{dede:tag row='10' getall='1' sort='month'}
[*,[url=[field:link/],[field:tag /][/url]
{/dede:tag}
{/dede:arclist}
错误原因是标签arclist不能嵌套另外的标签。
解决方法:
使用织梦提供的php接口:[field:id runphp=yes, ......[/field:id,
完整的标签是:
{dede:arclist}
标签 : [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 .= "[url=/tags.php?/".urlencode($row[,".$row['tag',."[/url], ";
}
@me=$tags;
[/field:id,
{/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 .= "[url=/t-".urlencode($row[,".$row['tag',."[/url]";}@me=$tags;[/field:id,
总结:
如果你会php,那么,通过织梦提供的runphp=yes就可以调用很多不能嵌套的问题,这个功能非常有用,当然,一般的人也用不到这个,对于仿站,或是做二次开发也许会用到。 |
|