1. SEO优化_织梦仿站[低至599]_网络营销推广服务-一秒搜 > SEO优化 > SEO技巧 > >

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

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

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

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

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

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

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

如果是时间类型字段,你需要这样调用

[field:id function=MyDate('Y-m-d',GetAddField(@me,"时间类型字段名"))/]

如果是图片类型字段,你需要继续在 include/extend.func.php ,在最下面加入

/** *  自定义图片字段调用图片地址 * * @access    public * @param     string  $fieldname  字段名 * @param     string  $ftype  输出样式 * @return    string */if(!function_exists('GetImgUrl')){function GetImgUrl($fieldname, $ftype = 1){if($fieldname != ''){$dtp = new DedeTagParse();$dtp->LoadSource($fieldname);if(is_array($dtp->CTags)){foreach($dtp->CTags as $ctag){if($ctag->GetName() == 'img'){$width = $ctag->GetAtt('width');$height = $ctag->GetAtt('height');$imgurl = trim($ctag->GetInnerText());$img = '';if($imgurl != ''){if($ftype == 1){$img .= $imgurl;}else{$img .= '<img src="' . $imgurl . '" width="' . $width . '" height="' . $height . '" />';}}}}}$dtp->Clear();return $img;}}}

然后在模板中调用图片字段

[field:id function=GetImgUrl(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 为自定义字段名,换成你自己的自定义字段。

免责声明:本文由 一秒搜在https://www.1miaoseo.com发布,不代表SEO优化_织梦仿站[低至599]_网络营销推广服务-一秒搜立场。

本站所发布文章和图片均来自用户分享和网络收集,https://www.1miaoseo.com/seojc/seojq_1280.html文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。