dedecms主附表嵌套调用方法

使用场景你建立了一个自定义模型,但是有一些字段,比如图片字段,依然在主表中(这种时候,你自己建立模型中最好不要在重复包含主表中的字段了,否则容易引起混乱),这样,那么你的主要目标在附件表中:解决方法后

[时间:04-19]    [浏览:]    [放入收藏夹]    [查看详情]

使用场景

你建立了一个自定义模型,但是有一些字段,比如图片字段,依然在主表中(这种时候,你自己建立模型中最好不要在重复包含主表中的字段了,否则容易引起混乱),这样,那么你的主要目标在附件表中:

解决方法

后台核心设置 中开启 是否在arclist标记中包含附加表指定的字段 然后可以在arclist中直接用[field:字段名/]来调用

调用语句主要是{arclist},只要在设置中包含了附加表中的指定字段即可

shooooot,后台看了,发现v55没有这个选项,继续找到了下面这种方法:希望成功

将需要调用的字段,换成如下格式放在arclist标签内即可.

[field:id runphp="yes"]
global $dsql;
$a=”SELECT genban.新增字段名 FROM dede_附加表名 as genban where genban.aid=@me”;
$arcRow = $dsql->GetOne($a);
@me=”.$arcRow[新增字段名].”;
[/field:id]

先说不种方法好不好,想了一下,效率实在成问题,我只是想调用主表中的一个image字段,剩下所有字段都在附加表中,如果用这样的格式,可想有多复杂!

继续Google和baidu,找到了另外一个方法:

为了方便调用,arclist标签调用附加表字段不再以频道模型指定的字段为依据,调用时需注意下面两个问题:

a、必须指定 channelid (内容频道id);

b、直接在标记指定要调用的字段(可以在内容提模型管理中看这些字段名);

{dede:arclist addfields=’language,softtype’ row=’8′ channelid=’3′}
[field:textlink /] – [field:softtype /] – [field:language /]
{/dede:arclist}

2,你的主要目标在附件表中,比如,你调用的字段完全来自附加表,则可以使用如下语句:

{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}
[field:image/][field:intro/]
美国商品地址论坛讨论成本价:[field:price_eng/]刀< /div>
{/dede:sql}{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}
[field:image/][field:intro/]
美国商品地址论坛讨论成本价:[field:price_eng/]刀< /div>{/dede:sql}

  本文转载自:精准像素:11px.cn ,感谢作者分享实用知识


标签: