• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    在dedecms首页和列表页、内容页上调用文章的副栏目名称和链接的方法
    POST TIME:2021-05-23 00:43
    最近在做一个网站用到副栏目的调用,在网上搜了一下,没有找到一个好的方法,于是自己写了一个,希望能够帮到大家。

    方法一:

    内容页的调用写法:


     {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

    首页、列表页标签(在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 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 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动态修改的内容。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!