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标签还是用的不熟练啊。

起初我是这么写的:

 

[html][/html] view plaincopy

  1. {dede:loop table=’#@__addonimages’ if=”aid={dede:field.aid/}”}
  2. [field:imgurls runphp=’yes’]
  3. echo ‘<pre>’;
  4. echo $GLOBALS[‘a’]=@me;
  5. echo ‘</pre>’;
  6. [/field:imgurls]
  7. {/dede:loop}

 

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

因此只能换一个标签了:

 

[html][/html] view plaincopy

  1. {dede:sql sql=’SELECT imgurls FROM #@__addonimages where aid=~aid~’}
  2. [field:imgurls runphp=’yes’]
  3. echo ‘<pre>’;
  4. echo $GLOBALS[‘a’]=@me;
  5. echo ‘</pre>’;
  6. [/field:imgurls]
  7. {/dede:sql}

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

标签