Dedehtml.com

织梦搜索结果页调用自定义字段内容

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

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

打开 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"];
}

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
(1)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

织梦自定义图片字段调用图片地址

Dedehtml赞(0)

dedecms模型添加的图片数据类型,在前台模板输出后是带有html代码的,我们在使用时只是需要图片地址就行了。这样我们只需要写个自定义方法从字符串中把图片提取出来即可。...

织梦搜索指定多个栏目的文档

Dedehtml赞(1)

织梦默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要加装修改才能实现。...