DEDE用{dede:sql}标签取出当前文档的附加表中的内容

最近在用DEDE做项目,遇到一个需求是要在article_image.htm模板中直接取出附加表addonimages中的某一记录的imgurls字段的内容。而这条记录是不断变化的,比如我点击了《武夷山》图集,那么article_image.htm中就要读取aid=94这条记录的imgurls字段,比如我点击了《丝瓜架》图集,那么article_image.htm中就要读取aid=90这条记录的imgurls字段,因为图片文章模板只有一个,也就是说article_image.htm读取的内容随着我选择的图集而变动,即aid需要动态获取。

获取aid字段的值就让我纠结了很久,最后发现很简单,模板中获取当前文档的id  {dede:field.id/} ,只要这一句就行了,dede标签还是用的不熟练啊。

起初我是这么写的:

{dede:loop table='#@__addonimages' if="aid={dede:field.aid/}"}

[field:imgurls runphp='yes']
echo '<pre>';
echo $GLOBALS['a']=@me;
echo '</pre>';
[/field:imgurls]

{/dede:loop}

实验失败,原因很简单,dede标签不能嵌套使用!({dede:channelArtlist}标签除外)

因此只能换一个标签了:

{dede:sql sql='SELECT imgurls FROM #@__addonimages where aid=~aid~'}

[field:imgurls runphp='yes']
echo '<pre>';
echo $GLOBALS['a']=@me;
echo '</pre>';
[/field:imgurls]

{/dede:sql}
浏览器输出成功,事实证明,{dede:sql}很强大!



posted @ 2013-09-25 11:22  moqiang02  阅读(181)  评论(0编辑  收藏  举报