欢迎来到酱油妹!织梦模板,dede模板下载,织梦cms模板,免费网站模板下载站

织梦CMS中添加一个函数来达成任意字段的调用

企业模板

大家在采用DEDE建站的时候,大多数情况下,因为Dede底层模版的限制,大家在文章页、列表页和频道页面中想要调用一些有关的字段会有所限制,所以AB网站模板就想写一个函数来达成在任意页面对任意字段进行调用,具体办法如下:

一、写入函数,打开include/extend.func.php文件,如果没有这个文件就我们建立一个,在 ?> 之前添加如下代码:

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]:'';

}

二、采用办法,使用自概念函数对标签进行扩展,如:

{dede:标记 function='table("要调用的表名","要调用的字段",@me)'/}

这里的“标记”就是要调用的表的主键的值,常见的就是id和aid、mid、uid之类的。

标签底层模板内调用:

[field:字段 function=table(“要调用的表名","要调用的字段",@me)/]

举例说明

例如arclist标签底层模板字段是没有body字段的,就是说不可以用arclist把文章内容调用出来的,当然这种需求很少,但不是没有,如今大家就可以这样采用:

{dede:arclist row='10' titlelen='24'}

[field:id function=table('addonarticle','body',@me)/]

{/dede:arclist}

还有大多数作用,如type标签调用栏目简介,等等,大家我们去挖掘吧。


希望以上内容可以解决您的问题!
如有其他问题欢迎大家一起交流学习!
作者:酱油妹 来源:互联网 关注: 时间:2019-10-28 11:51
版权声明:凡注明来源为www.jiangyoumei.com的均为本站原创,转载请注明来源。
本文网址:http://www.jiangyoumei.com/jiaocheng/jianzhan/2019/1115/2931.html
►凡本站提供教程均已验证教程的准确性。
►为提高用户在织梦后台添加栏目的灵活性(可随意添加/删除栏目),并保持(管理后台添加/删除栏目)与前端网站栏目的一致,本站模板中栏目均未固定,用户直接搜索typeid=''并替换''中的数字为所需栏目id即可。
►本站提供各种类型织梦模板!希望在这里找到喜欢的。下载本站模板,用户直接替换相关文字和图片即可。
►本站仅提供织梦模板即(DEDE模板),(除另外说明)均不带织梦安装程序及数据,用户直接覆盖默认模板即可。
►本站所有资源(包括源码、模板、插件等)仅供学习与参考,请勿用于商业用途。
►如有其他问题,请加网站客服QQ(375750496)进行交流。
相关织梦教程
在线客服

织梦模板 整站模板 新手教程 使用技巧