muban大师 发表于 2020-6-9 09:45:34

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织梦副栏目名称和链接调用