织梦CMS调用子栏目时没有子栏目不显示

HTML页面调用标签{dede:channelartlist}

{dede:field name='typename'/}

{dede:channel type='son' noself='yes' }

[field:typename/]

{/dede:channel}

{/dede:channelartlist}

修改织梦文件

打开:include\taglib\channel.lib.php文件。找到下面的代码$needRel = false;

$dtp2 = new DedeTagParse();

$dtp2->SetNameSpace('field','[',']');

$dtp2->LoadSource($innertext);

//检查是否有子栏目,并返回rel提示(用于二级菜单)

if(preg_match('#:rel#', $innertext)) $needRel = true;

if(empty($sql)) return '';

$dsql->SetQuery($sql);

$dsql->Execute();

$totalRow = $dsql->GetTotalRow();

//如果用子栏目模式,当没有子栏目时显示同级栏目

//===================================================修改这里================================

if($type=='son' && $reid!=0 && $totalRow==0 )

//===============================================================================================

{

$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

$dsql->SetQuery($sql);

$dsql->Execute();

}

$GLOBALS['autoindex'] = 0;

修改成$needRel = false;

$dtp2 = new DedeTagParse();

$dtp2->SetNameSpace('field','[',']');

$dtp2->LoadSource($innertext);

//检查是否有子栏目,并返回rel提示(用于二级菜单)

if(preg_match('#:rel#', $innertext)) $needRel = true;

if(empty($sql)) return '';

$dsql->SetQuery($sql);

$dsql->Execute();

$totalRow = $dsql->GetTotalRow();

//如果用子栏目模式,当没有子栏目时显示同级栏目

//==========================================多添加一个&& $noself=='' 条件

if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

{

$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

$dsql->SetQuery($sql);

$dsql->Execute();

}

$GLOBALS['autoindex'] = 0;

更多推荐

织梦子栏目index.html生成失败,织梦CMS调用子栏目时没有子栏目不显示