找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 122|回复: 0

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

[复制链接]

该用户从未签到

发表于 2020-6-28 10:26:57 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
最近在做一个网站用到副栏目的调用,在网上搜了一下,没有找到一个好的方法,于是自己写了一个,希望能够帮到大家。
         
        方法一:
         
        内容页的调用写法:
         
         {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.="[url={$mpath},".$row['typename',."[/url]";   
                                  }           
                             }   
                         }
                        @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.="[url={$mpath},".$row['typename',."[/url]";      
                                  }           
                             }   
                         }
                        @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动态修改的内容。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 18:32

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表