要获取附加表内容,必须符合两个条件 1、指定 channelid 属性 2、指定要获得的字段 addfields='字段1,字段' 如: {dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'} [field:textlink /] - [field:softtype /]<br /> {/dede:arclist}
追问
你说的这个在首页调用有效,在搜索结果页无效,不信你试一下
回答
dede:arclist 首页可调用 搜索页和列表页用 dede:list 列表页还需要在后台模块设置那里设置的 也可以用SQL的查询语句来写 不过比较麻烦些
一般来说,有两种调用的情况(这里讨论的主要是首页,或者列表页调用,内容调用不存在这种问题) 1,你建立了一个自定义模型,但是有一些字段,比如图片字段,依然在主表中(这种时候,你自己建立模型中最好不要在重复包含主表中的字段了,否则容易引起混乱),这样,那么你的主要目标在附件表中: 解决方法: 后台核心设置 中开启 是否在arclist标记中包含附加表指定的字段 然后可以在arclist中直接用[field:字段名/]来调用 调用语句主要是{arclist},只要在设置中包含了附加表中的指定字段即可 shooooot,后台看了,发现v55没有这个选项,继续找到了下面这种方法:希望成功 将需要调用的字段,换成如下格式放在arclist标签内即可. [field:id runphp="yes"] 先说不种方法好不好,想了一下,效率实在成问题,我只是想调用主表中的一个image字段,剩下所有字段都在附加表中,如果用这样的格式,可想有多复杂! 继续google和baidu,找到了另外一个方法: 为了方便调用,arclist标签调用附加表字段不再以频道模型指定的字段为依据,调用时需注意下面两个问题: 2,你的主要目标在附件表中,比如,你调用的字段完全来自附加表,则可以使用如下语句:
{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}
<li><a href=”[field:arcurl/]“>[field:image/]<span>[field:intro/]</span></a>
<div><a href=”[field:url_bbs/]“>美国商品地址</a><a href=”[field:bbs_product/]“>论坛讨论</a>成本价:[field:price_eng/]刀</div>
</li>
{/dede:sql}
{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}<li><a href=”[field:arcurl/]“>[field:image/]<span>[field:intro/]</span></a><div><a href=”[field:url_bbs/]“>美国商品地址</a><a href=”[field:bbs_product/]“>论坛讨论</a>成本价:[field:price_eng/]刀</div></li>{/dede:sql} |