最近在做一個(gè)網(wǎng)站用到副欄目的調(diào)用,在網(wǎng)上搜了一下,沒有找到一個(gè)好的方法,于是自己寫了一個(gè),希望能夠幫到大家。
方法一:
內(nèi)容頁的調(diào)用寫法:
{dede:field.typeid2 runphp='yes'}
global $dsql;
$ks = split(',', @me);
$tname="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select *,ID as id1 from dede_arctype where id=".$k)){
$mpath=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],
$row['ispart'],$row['namerule2'],$row['siteurl']);
$tname.="<span><a href='{$mpath}'>".$row['typename']."</a></span>";
}
}
}
@me=substr($tname,0,strlen($tname)-1);
{/dede:field.typeid2
首頁、列表頁標(biāo)簽(在arclist、list等文章列表標(biāo)簽里用):
[field:typeid2 runphp='yes']
global $dsql;
$ks = split(',', @me);
$tname="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select *,ID as id1 from dede_arctype where id=".$k)){
$mpath=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],
$row['namerule2'],$row['siteurl']);
$tname.="<span><a href='{$mpath}'>".$row['typename']."</a></span>";
}
}
}
@me=substr($tname,0,strlen($tname)-1);
[/field:typeid2]
推薦用這種方法,不需要改東西就可以了。另外在網(wǎng)上看到另外一種方法,不過我沒做測(cè)試,有興趣的朋友可以試下。
方法二:
首先在 dedecms 目錄下 /plus/ 新建文件 type_ajax.php 內(nèi)容如下:
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
$action = isset($action) ? trim($action) : '';
$id = (isset($id) && is_numeric($id)) ? $id : 0;
if($id < 1)
{
exit();
}
$maintable = "dede_archives";
$digg = '';
$row = $dsql->GetOne("Select * From dede_archives where id = '$id' ");
$arr = split(",",$row['typeid2']);
foreach ($arr as $key=>$type)
{
$namelist = $dsql->GetOne("Select * From dede_arctype where id = '$type' ");
$digg .= '<a href=/plus/list.php?tid='.$type.'>'.$namelist['typename'].'<a>'." //";
}
AjaxHead();
echo $digg;
exit();
?>
dedecms 模板頁調(diào)用
在<head>標(biāo)記之間 加上
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
function gettype(aid)
{
var taget_obj2 = document.getElementByIdx_x('newdigg2');
myajax2 = new DedeAjax(taget_obj2,false,false,'','','');
myajax2.SendPost2("{dede:global.cfg_phpurl/}/type_ajax.php?id="+aid);
DedeXHTTP = null;
}
-->
</script>
<body>標(biāo)記內(nèi)加上
<span class="newdigg2" id="newdigg2">{dede:field.typeid2 /}</span><br />
<script language="javascript" type="text/javascript">gettype({dede:field.id/});</script>
其中<span>標(biāo)記內(nèi)的內(nèi)容就是AJAX動(dòng)態(tài)修改的內(nèi)容。
以上信息由跟版網(wǎng)首發(fā),轉(zhuǎn)載請(qǐng)注明出處!