织梦栏目要交叉调用自定义模型字段时候,首先我们要知道织梦的自定义模型和字段是采用附加表的形式储存在数据库中,这样很多特殊的页面要实现自定义字段的调用就不一定能行得通,所以我们用下面正常的调用代码,调用内容就为空:
{dede:arclist addfields='add1,add2,...' channelid='自定义内容模型的ID' row='10' orderby='pubdate'} //(add1,add2为自字义的字段名)
[field:add1/]//(字段名1 调用 )
[field:add2/]//(字段名2 调用 )
{/dede:arclist}
这时候我们可以用织梦万能标签[field:id runphp='yes'],我们直接调取数据库的内容,越过dede的底层标签就有好了,于是便有了下面这段代码:
[field:id runphp='yes']
$id=@me;
global $dsql;
$row=$dsql->getone("select aid,hx from `dede_addon17` where aid=$id");
@me=$row["hx"] ;
[/field:id]
代码释义:查询附加表dede_addon17的自定义字段hx,输出自定义字段hx的内容。这样就可以实现了栏目交叉的自定义模型字段调用,因为一个一个的调用会显得代码比较臃肿也加大了服务器的负担,于是我们可以批量查询并输出,可结合实例代码如下:
[field:id runphp='yes']
$id=@me;
global $dsql;
$info='';
$row=$dsql->getone("select aid,hx,fg,sjsf,zj from `dede_addon17` where aid=$id");
$info='
户型:'.$row["hx"].'风格:'.$row["fg"].'
设计收费标准:'.$row["sjsf"].'造价:'.$row["zj"].'
';@me=$info;
[/field:id]