在查找页调用自定义字段,使其可有让用户查找这个自定义字段

找了许多文章和教程,却发现dedecms的标签底层模板字段不包括这个字段呢?这就大大约束了灵活性,但dede也不行能让一切字段都答应调用的,那样就会大大下降体系功率,所以今日共享的是一个比拟完满处理这个疑问的办法,合作dede标签,简直可以说没有什么不能调用的了

首先把上面代码放到 include/extend.func.php 里

运用办法:

function table($table, $field, $id)
{
global $dsql;
$primarys = array();
$table = strpos($table, '#@_') === false?(strpos($table, 'dede_') === false?'cn_'.$table:str_replace('dede_','cn_',$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]:'';
}

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

举例
例如arclist标签底层模板字段是没有body字段的,就是说不能用arclist把文章内容调用出来的,当然这种需要很少,但不是没有,如今咱们就可以这样运用

还有许多效果,如type标签调用节目简介,等等,个人去发掘吧

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。