在dedecms首页和列表页、内容页上调用文章的副栏目名称和链接的方法

永远对生活充满希望,对于困境与磨难,微笑面对。多看书,看好书,少吃点,吃好的。要有梦想,即使遥远。开朗的心情,这很重要。
最近在做一个网站用到副栏目的调用,在网上搜了一下,没有找到一个好的方法,于是自己写了一个,希望能够帮到大家。

方法一:

内容页的调用写法:


 {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 rel="nofollow noopener noreferrer" href='{$mpath}'>".$row['typename']."</a></span>";   
                          }           
                     }    
                 }
                @me=substr($tname,0,strlen($tname)-1);
            {/dede:field.typeid2

首页、列表页标签(在arclist、list等文章列表标签里用):
 
            [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 rel="nofollow noopener noreferrer" href='{$mpath}'>".$row['typename']."</a></span>";      
                          }           
                     }    
                 }
                @me=substr($tname,0,strlen($tname)-1);
            [/field:typeid2]

推荐用这种方法,不需要改东西就可以了。另外在网上看到另外一种方法,不过我没做测试,有兴趣的朋友可以试下。
 
方法二:

 首先在 dedecms 目录下 /plus/ 新建文件 type_ajax.php 内容如下:
 
 
 <?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 rel="nofollow noopener noreferrer" href=/plus/list.php?tid='.$type.'>'.$namelist['typename'].'<a>'." //";
}
AjaxHead();
echo $digg;
exit();
?>
 
 
dedecms 模板页调用
在<head>标记之间 加上
 
 
 
  <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>标记内加上
 
<span class="newdigg2" id="newdigg2">{dede:field.typeid2 /}</span><br />
<script language="javascript" type="text/javascript">gettype({dede:field.id/});</script>
其中<span>标记内的内容就是AJAX动态修改的内容。

以上信息由跟版网首发,转载请注明出处!

到此这篇关于在dedecms首页和列表页、内容页上调用文章的副栏目名称和链接的方法就介绍到这了。一个人在迷茫的时候通常会去衡量自身的价值,但你无法找到价值的天秤在何处。更多相关在dedecms首页和列表页、内容页上调用文章的副栏目名称和链接的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
dedecms如何实现任意页面调用当前会员信息的方

DedeCMS织梦判断是否有二级栏目输出HTML代码

织梦dedecms dede:arclist输出取消换行符

dedecms文章添加字段填栏目id,内容页调用字段里的栏目文章

dedeCMS首页列表页文章页调用tag的方法