我們在給模型添加自定義字段后,剛好搜索頁需要顯示自定義的字段時,織夢默認是無法在搜索結果頁顯示自定義字段的內容的,網上很多教程都是寫死或者改動系統文件,這樣不僅不夠人性化,而且改動系統文件對升級存在影響。本文章介紹個完美的方法,既不改動系統核心文件,又不寫死任何東西。
打開 include/extend.func.php ,在最下面加入
function GetAddField($aid,$addField) { global $dsql; $row = $dsql->GetOne("SELECT c.addtable FROM dede_archives AS a LEFT JOIN dede_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 dede_archives AS a LEFT JOIN dede_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 為自定義字段名,換成你自己的自定義字段