Dedehtml.com

织梦TAG标签列表页和搜索结果页调用自定义字段内容

摘要:我们在给模型添加自定义字段后,TAG标签列表页和搜索页需要显示自定义的字段时,织梦默认是无法显示自定义字段的内容的,网上很多教程都是写死或者改动系统文件,这样不仅不够人性化,而且改动系统文件对升级存在影响。本文章介绍个完美的方法,既不改动系统核心文件,又不写死任何东西。

我们在给模型添加自定义字段后,TAG标签列表页和搜索页需要显示自定义的字段时,织梦默认是无法显示自定义字段的内容的。

网上很多教程都是写死或者改动系统文件,这样不仅不够人性化,而且改动系统文件对升级存在影响。本文章介绍个完美的方法,既不改动系统核心文件,又不写死任何东西。

这个自定义方法适用于织梦整站,包括会员和后台使用

打开 include/extend.func.php ,在最下面加入

function GetAddField($aid,$addField)
{
	global $dsql;
    $row = $dsql->GetOne("SELECT c.addtable FROM #@__archives AS a LEFT JOIN #@__channeltype AS c ON a.channel=c.id where a.id='$aid'");
    $addtable = trim($row['addtable']);
	$row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$aid");
	return $row["$addField"];
}

taglist.htm(TAG标签列表页) search.htm(搜索结果页)模板调用标签

[field:id function=GetAddField(@me,"自定义字段名")/]

什么?不喜欢添加自定义方法,那就直接用runphp吧

[field:id runphp=yes]global $dsql;$row = $dsql->GetOne("SELECT c.addtable FROM #@__archives AS a LEFT JOIN #@__channeltype AS c ON a.channel=c.id where a.id=@me");$result = $dsql->GetOne("SELECT body FROM `$row[addtable]` WHERE aid=@me");@me = cn_substr(html2text($result['body']),500);[/field:id]
body 为自定义字段名,换成你自己的自定义字段。
版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/search-addfield.html
(6)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏