我們?cè)诮o模型添加自定義字段后,TAG標(biāo)簽列表頁(yè)和搜索頁(yè)需要顯示自定義的字段時(shí),織夢(mèng)默認(rèn)是無(wú)法顯示自定義字段的內(nèi)容的。
網(wǎng)上很多教程都是寫(xiě)死或者改動(dòng)系統(tǒng)文件,這樣不僅不夠人性化,而且改動(dòng)系統(tǒng)文件對(duì)升級(jí)存在影響。本文章介紹個(gè)完美的方法,既不改動(dòng)系統(tǒng)核心文件,又不寫(xiě)死任何東西。
這個(gè)自定義方法適用于織夢(mèng)整站,包括會(huì)員和后臺(tái)使用
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"];
}
[field:id function=GetAddField(@me,"自定義字段名")/]
如果是時(shí)間類(lèi)型字段,你需要這樣調(diào)用
[field:id function=MyDate('Y-m-d',GetAddField(@me,"時(shí)間類(lèi)型字段名"))/]
如果是圖片類(lèi)型字段,你需要繼續(xù)在 include/extend.func.php ,在最下面加入
/**
* 自定義圖片字段調(diào)用圖片地址
*
* @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;
}
}
}
然后在模板中調(diào)用圖片字段
[field:id function=GetImgUrl(GetAddField(@me,"圖片類(lèi)型字段名"))/]
[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 為自定義字段名,換成你自己的自定義字段。 版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)TAG標(biāo)簽列表頁(yè)和搜索結(jié)果頁(yè)調(diào)用自定義字段內(nèi)容