dede 搜索结果 调用 自定义字段

1、打开 include/extend.func.php

 

2、在后面加入下面代码

function table($table, $field, $id) 
{ 
global $dsql; 
$primarys = array(); 
$table = strpos($table, '#@_') === false?(strpos($table, 'dede_') === false?'#@__'.$table:str_replace('dede_','#@__',$table)):$table; 
$dsql -> Execute("me","SHOW COLUMNS FROM `$table`"); 
while ($r = $dsql->GetArray()) 
{ 
if($r['Key'] == 'PRI') $primarys[] = $r['Field']; 
} 
if(!empty($primarys)) 
{ 
$primary = $primarys[0]; 
$result = $dsql -> GetOne("SELECT `$field` FROM `$table` WHERE `$primary`= $id"); 
} 
return isset($result[$field])?$result[$field]:''; 
}


3、使用方法:

利用自定义函数对标签进行扩展
如:
{dede:标记 function='table("要调用的表名","要调用的字段",@me)'/}
这里的“标记”就是要调用的表的主键的值,常见的就是id和aid、mid、uid之类的
标签底层模板内
[field:字段 function=table(“要调用的表名","要调用的字段",@me)/]

 

{dede:arclist row='10' titlelen='24'}  
[field:id function=table('addonarticle','body',@me)/]  
{/dede:arclist}  

为什么要ID我都不知道,总之加上去可以用了

 

下面是第二种简单的方法///

 

打开 include/extend.func.php 这个文件,在文件末尾添加如下代码:

function Search_addfields($id,$result){  
	global $dsql;  // 数据库操作对象,全局对象,织梦已经初始化,可直接使用;
	$record = $dsql->GetOne("SELECT * FROM `dede_addon20` where aid='$id'");  
	$name=$record[$result];  
	return $name;  
}

 

然后打开 include/arc.searchview.class.php 这个文件,搜索“ //处理一些特殊字段”,在下面添加如下代码: $row["softsize"]=Search_addfields($row["id"],"softsize");

 

 

在search.htm中 使用[field:softsize/] 就可以调用出来了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值