織夢怎麼呼叫目前頂層欄位名稱、ID、url?
我們在用織夢範本做網站時,常常會碰到需要呼叫目前頂層欄位名稱,而織夢預設{dede:field name='typename' /} 只可以取得目前欄位頁上一級欄目的名稱,而不是目前欄位頂級欄位名稱。
推薦學習:織夢cms
在include/common.func.php的底部加入:
//获取顶级栏目名 function GetTopTypename($id) { global $dsql; $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['typename']; } else { $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]"); return $row1['typename']; } }
備註:若頂級欄位沒有綁定二級域名,所呼叫的欄位應該是sitepath 故程式碼應如下所示:
//获取顶级栏目url function GetTopTypeurl($id) { global $dsql; $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['sitepath']; } else { $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]"); return $row1['sitepath']; } }
頂級欄位其他欄位所呼叫的function 函數仿照上面所示書寫即可。
同理可得取得頂級欄位url方法(當頂級欄位綁定二級網域時呼叫的欄位為「 siturl」)
function GetTopTypeurl($id) { global $dsql; $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0') { return $row['siteurl']; } else { $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]"); return $row1['siteurl']; } }
在文章頁或欄位清單頁呼叫時,在要呼叫欄目名稱的位置加上下面這行程式碼即可實現。
{dede:field name='typeid' function="GetTopTypename(@me)" /} 顶级栏目名 {dede:field name='typeid' function="GetTopTypeurl(@me)" /} 顶级栏目url
dede呼叫頂級欄位ID
方法一:
{dede:field.typeid function="GetTopid(@me)"/} dedeyuan首推此方法,經過測試是可行的。
dede呼叫頂級欄位ID
方法二:
1、在所需要呼叫頂級欄位ID的地方,新增這段標籤語法
{dede:type}[feild:topid/]{/dede:type}
# 2.修改來源文件,找到include目錄下的taglib目錄下的type.lib.php。
找到這條語句
$row = $dsql->GetOne(“Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ “);
修改成為
$row = $dsql->GetOne(“Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ “);
在if(!is_array($row)) return 」;下一行新增
if( $row['topid']==0){$row['topid']=$row['id'];}
這樣,這條語句在頂層欄目還是子欄目,都可以呼叫了
以上是織夢怎麼呼叫目前頂級欄位名稱、ID、url的詳細內容。更多資訊請關注PHP中文網其他相關文章!