muban大师 发表于 2021-3-6 08:57:39

织梦dedecms副栏目名称和链接调用

织梦副栏目名称和链接调用方法,打开 \include\extend.func.php 在最下面加入
       
        /**
       *获取副栏目链接和名称
       *
       * @access    public
       * @param   string$typeid2         副栏目id
       * @param   string$result         输出
       * @return    string
       */
        if(!function_exists('GetTypeid2'))
        {
                 function GetTypeid2($typeid2)
                 {
                         global $dsql;
                         $result = '';
                         $query = "SELECT * FROM `dede_arctype` WHERE id IN($typeid2) AND ishidden1 ORDER BY FIELD(id,$typeid2)";
                         $dsql->Execute('t',$query);
                         while($row = $dsql->GetArray('t'))
                         {
                                  $typeurl = GetOneTypeUrlA($row);
                                  $result.= ($result=='' ? "" : ','."");
                         }
                         return $result;
                 }
        }
       
        列表页 调用标签写法
       
       
       
        内容页 调用标签写法
       
        {dede:field.typeid2 function=GetTypeid2(@me)/}
       
        首页 调用标签
       
        还需要打开 /include/taglib/arclist.lib.php 找到
       
        if($CrossID=='') $orwheres[, = ' arc.typeid IN ('.GetSonIds($typeid).')';
       
       
       
        改成
       
        if($CrossID=='') $orwheres[, = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in (".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";
       
        继续找到
       
        else $orwheres[, = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
       
        改成
       
        else $orwheres[, = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')";
       
        这样才可以在首页调用副栏目,标签写法是
       
       
页: [1]
查看完整版本: 织梦dedecms副栏目名称和链接调用