当前位置:主页 > 织梦教程 >

织梦一级栏目设置为外链后,导航无法显示的终极解决办法|织梦设置外部链接后就不显示分类

栏目分类:织梦教程   发布日期:2018-08-30   来源:资源盒子   浏览次数:
最近站长在仿站是,因为需要,在设置栏目时,将一个顶级栏目设置成了外链形式,在生成首页时,发现这个设置了外链的一级栏目消失了,并且它下面的二级栏目页同样消失了。。。

最近站长在仿站是,因为需要,在设置栏目时,将一个顶级栏目设置成了外链形式,在生成首页时,发现这个设置了外链的一级栏目消失了,并且它下面的二级栏目页同样消失了。。。这下开心了!哈哈

出现问题了,我们就要寻找问题!

如下是我调用导航的代码:

{dede:channelartlist typeid='top' currentstyle="on"}
    <li class="{dede:field.currentstyle/}">
        <a href="{dede:field name='typeurl'/}" target="_self">{dede:field name='typename'/}</a>
        {dede:field name=typeid runphp="yes"}
	              global $dsql;
	              $sql = "SELECT id From `dede_arctype` WHERE reid='@me' And ishidden<>1 order by sortrank asc limit 0, 100 ";
	              $row = $dsql->GetOne($sql);      
	              @me=is_array($row)?'<div class="sub">':'';
	        {/dede:field}
        {dede:channel type='son' noself='yes' }
        <a href="[field:typelink/]" target="_self">[field:typename/]</a>
        {/dede:channel}
        {dede:field name=typeid runphp="yes"}
		      global $dsql;
		      $sql = "SELECT id From `dede_arctype` WHERE reid='@me' And ishidden<>1 order by sortrank asc limit 0, 100 ";
		      $row = $dsql->GetOne($sql);      
		      @me=is_array($row)?'</div>':'';
                {/dede:field}
        </li>
{/dede:channelartlist}	

可以看出,我的一级导航使用了dede:channelartlist标签进行调用!那么出问题的肯定是dede:channelartlist标签了!

现在我们需要找到dede:channelartlist标签:

路径:include/taglib/channelartlist.lib.php  打开找到67行:

$tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";

改成:

$tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 ";


以为这样就OK了吗?那是大错特错!

这样只是解决了dede:channelartlist标签能调用外链的栏目了!可实际使用中,如站长这样,一级栏目下还有二级栏目(非外链栏目),那这些二级栏目是需要生成html文件进行访问的!

那现在问题来了!你能在生成里面找到这个一级栏目被设置成外链的栏目吗?

答案很明显:不能!

那这个外链栏目下的二级栏目同时也消失了,现在想更新这部分栏目页也没有办法更新了!




下面接着找到:include/typelink.class.php,并打开!

找到276行:

$query = "SELECT id,typename,ispart FROM `dede_arctype` WHERE ispart<>2 AND reid=0 $ctsql ORDER BY sortrank ASC";

改成:

$query = "SELECT id,typename,ispart FROM `dede_arctype` WHERE reid=0 $ctsql ORDER BY sortrank ASC";


接着如果在二级栏目新增文章时,由于当前的一级栏目设置成了外链,所有在新增文章是无法选择二级栏目

找到:dede/inc/inc_catalog_options.php, 并打开!

找到68行:

$query = "SELECT id,typename,ispart,channeltype FROM `dede_arctype` WHERE ispart<>2 AND reid=0 ORDER BY sortrank ASC ";

改成:

$query = "SELECT id,typename,ispart,channeltype FROM `dede_arctype` WHERE reid=0 ORDER BY sortrank ASC ";


至此,一级栏目如果设置成外链后的问题全部解决(目前zybox.cc站长所遇到的问题)!如果后续还有将进行更新!

打赏本站
相关下载
Copyright © 2014 资源盒子 版权所有   黔ICP备14004500号-3   TAG
织梦标签工具下载 ↑↓
织梦标签工具下载