第一種方法:切割infotags字段
/* 列表頁顯示tag 開始*/
$fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_".$class_r[$r['classid']]['tbname']."_data_{$r[stb]} where id='$r[id]'");
$tagstr='';
$infotags_r=explode(',',$fr['infotags']);
$tagscount=count($infotags_r);
for($i=0;$i<$tagscount;$i++){
$tagname=$infotags_r[$i];
if(empty($tagname)){
continue;
}
//tagname的動態(tài) 或 偽靜態(tài) 時的鏈接,采用以下2行代碼
/* $tu=eReturnRewriteTagsUrl(0,$tagname);
$tagslink=$tu['pageurl'];*/
//tagid式的動態(tài)鏈接,采用以下6行代碼
$tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagname."' limit 1");
if(!$tt['tagid']){
continue;
}else{
$tagslink=$public_r['newsurl'].'e/tags/?tagid='.$tagid;;
}
//采用東坡網(wǎng)靜態(tài)化插件時的tag鏈接,采用以下6行代碼
/* $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagname."' limit 1");
if(!$tt['tagid']){
continue;
}else{
$tagslink=user_HtmlTagLink($tt['tagid']);
}*/
//返回單獨一個tag的代碼
$tagstr.='<a title="'.$tagname.'" target="_blank" href="'.$tagslink.'">'.$tagname.'</a>';
}
/*結(jié)束*/
$listtemp='其它代碼'.$tagstr.'其它代碼';
第二種方法:從phome_enewstagsdata表中提取
/* 列表頁顯示tag 開始*/
$tagstr='';
$tsql=$empire->query("select tagid from {$dbtbpre}enewstagsdata where id='$r[id]' and classid='$r[classid]' ");
while($tr=$empire->fetch($tsql)){
$tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagid=".$tr['tagid']." limit 1");
if(!$tt['tagid']){
continue;
}else{
//tagname的動態(tài) 或 偽靜態(tài) 時的鏈接,采用以下1行代碼
//$tagslink=eReturnRewriteTagsUrl(0,$tt['tagname'],1);
//tagid式的動態(tài)鏈接,采用以下1行代碼
$tagslink=$public_r['newsurl'].'e/tags/?tagid='.$tt['tagid'];
//采用東坡網(wǎng)靜態(tài)化插件時的tag鏈接,采用以下1行代碼
//$tagslink=user_HtmlTagLink($tt['tagid']);
}
$tagstr.='<a title="'.$tagname.'" target="_blank" href="'.$tagslink.'">'.$tt['tagname'].'</a>';
}
/*結(jié)束*/
$listtemp='其它代碼'.$tagstr.'其它代碼';
說明:
1、代碼中的tag鏈接都有3種方式,可以根據(jù)實際情況進行選擇。
2、以上代碼放入列表內(nèi)容模板(list.var) ,必須開啟使用程序代碼。
]]>/**
* 首頁/列表獲取文章Tag
*
* @access public
* @param string $aid 文章id
* @param string $num 數(shù)量
* @return string
*/
if (!function_exists('GetMyTags'))
{
function GetMyTags($aid, $num=3)
{
global $dsql;
$tags = '';
$query = "Select tag From `#@__taglist` Where aid='$aid' limit $num ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags.= ($tags=='' ? "<a href=/tags.php?/{$row['tag']} rel='tag'>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} rel='tag'>{$row['tag']}</a>");
}
return $tags;
}
}
[field:id function=GetMyTags(@me,5)/]
數(shù)字5?是調(diào)用5個tag
注意,上面的調(diào)用出來的TAG地址格式是? /tags.php?/散文? ? ,如果你的TAG偽靜態(tài)地址格式像 /tags/散文.html 這種格式的,就需要用下面這段代碼,注意紅色的修改部分。
/**
* 首頁/列表獲取文章Tag
*
* @access public
* @param string $aid 文章id
* @param string $num 數(shù)量
* @return string
*/
if (!function_exists('GetMyTags'))
{
function GetMyTags($aid, $num=3)
{
global $dsql;
$tags = '';
$query = "Select tag From `#@__taglist` Where aid='$aid' limit $num ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags.= ($tags=='' ? "<a href=/tags/{$row['tag']}.html rel='tag'>{$row['tag']}</a>" : ','."<a href=/tags/{$row['tag']}.html rel='tag'>{$row['tag']}</a>");
}
return $tags;
}
}
]]>
而沒有推薦的文章都正常,鼠標移到圖片,顯示的標題也是加有<b>,我這個人有強迫癥,不去掉,心里總是覺得不舒服。
打開include/arc.listview.class.php文件,搜索
$row['title'] = "<b>".$row['title']."</b>";
大約在922行,
替換為:
$row['title'] = "".$row['title']."";
保存。搞定
]]>打開 \dede\archives_edit.php 找到
$wintitle = "成功更改文檔!";
在下面添加下面代碼
$arcID = $id;
$msg = "<div style=\"line-height:36px;height:36px\">{$msg}</div>".GetUpdateTest();
保存。編輯一篇文章試試。
]]>一.如果某個字段需要在前臺列表頁顯示,則在前臺參數(shù)中勾選“使字段可以在列表的底層模板中獲得(自定義字段默認僅能在文檔模板顯示,但是啟用此選項將使列表查詢變慢,如無必要請不要選擇) ”;
二.建好獨立模型和字段之后,在網(wǎng)站調(diào)用方法如下:
(1)首頁調(diào)用自定義模型(獨立模型):
獨立模型的調(diào)用請用arclistsg 獨立單表模型調(diào)用標簽,而非arclist文檔列表標簽。網(wǎng)上大部分的教程文章都是針對已有的模型添加的自定義字段而非新建的獨立模型,所以用arclist標簽是調(diào)用不出獨立模型的。
代碼如下:
{dede:arclistsg typeid='8' row='10' addfields='name,sex,tel' channelid='-101'}
[field:title/] 姓名:[field:name/] | 性別:[field:sex/] | 電話:[field:tel/]
{/dede:arclistsg}
要獲取自定義字段的內(nèi)容,必須符合兩個條件,缺一不可:
1.指定 channelid 屬性,我這是channelid='-101'
2.指定要獲得的字段 addfields='字段1,字段2'
(2)列表頁調(diào)用自定義模型(獨立模型):
代碼如下:
{dede:list pagesize='10' addfields='name,sex,tel' channelid='-101' }
[field:title/] 姓名:[field:name/] | 性別:[field:sex/] | 電話:[field:tel/]
{/dede:list}
如果該欄目有內(nèi)容,但是列表頁沒有掉出來,那就肯定是因為你的獨立模型的id不為負數(shù)。
(3)內(nèi)容頁調(diào)用自定義模型的自定義字段數(shù)據(jù)(獨立模型):
直接在要調(diào)用的地方寫上{dede:field.name/},其中name改為你要調(diào)用的字段名稱。
我在內(nèi)容頁里面用下面方法也可以調(diào)用成功,由于兩個地方需要調(diào)用自定義字段,一處調(diào)用出來正常,但第一處調(diào)用出來的數(shù)據(jù)是2條。所以,這個需要大家自行測試,看哪個方便。我用的是在前臺參數(shù)中勾選“使字段可以在列表的底層模板中獲得”,然后直接在內(nèi)容頁調(diào)用。
{dede:arclist ?addfields='name,sex,tel' ?channelid='18'}
[field:title/] 姓名:[field:name/] | 性別:[field:sex/] | 電話:[field:tel/]
{/dede:arclist}
]]>