muban大师 发表于 2020-6-28 10:26:57

在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.="";   
                                  }         
                             }   
                         }
                      @me=substr($tname,0]strlen($tname)-1);
                    {/dede:field.typeid2
       
        首页、列表页标签(在arclist、list等文章列表标签里用):
       
                    [field:typeid2runphp='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.="";      
                                  }         
                             }   
                         }
                      @me=substr($tname,0]strlen($tname)-1);
                    [/field:typeid2,
       
        推荐用这种方法,不需要改东西就可以了。另外在网上看到另外一种方法,不过我没做测试,有兴趣的朋友可以试下。
       
        方法二:
       
       首先在 dedecms 目录下 /plus/ 新建文件 type_ajax.php 内容如下:
       
       
       
       
        require_once(dirname(__FILE__)."/../include/common.inc.php");
        $action = isset($action) ? trim($action) : '';
        $id = (isset($id) && is_numeric($id)) ? $id : 0;
        if($id
        {
        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 .= ''.$namelist['typename',.''." //";
        }
        AjaxHead();
        echo $digg;
        exit();
        ?>
       
       
        dedecms 模板页调用
        在标记之间 加上
       
       
       
          
       
       
        标记内加上
       
        {dede:field.typeid2 /}

       
        其中标记内的内容就是AJAX动态修改的内容。
页: [1]
查看完整版本: 在dedecms首页和列表页、内容页上调用文章的副栏目名称和链接的方法