关于dedecms新增顶级栏目是默认页的设置

网站建设 2022-07-27 08:13www.1681989.com免费网站
问题描述在设置顶级栏目的默认页名称时,将系统默认的默认页名称dex.html改成其他的名称,在生成HTML后,点击主页的栏目则不能跳转到生成的HTML页面中。 其跳转的页面如下 主要原因在设置系统参数时,系统默认栏目网址使用目录名设置为不显示默认页,导致在主要生成顶级栏目时,入口文件dex.php在解析时栏目链接在后台默认加上dex.html。而在上面我们生成顶级栏目时将默认页的名称修改掉了,导致系统没有生成dex.html这个页面。 解决方 […]



问题描述在设置顶级栏目的默认页名称时,将系统默认的默认页名称“dex.html”改成其他的名称,在生成HTML后,点击主页的栏目则不能跳转到生成的HTML页面中。
 
其跳转的页面如下
 
主要原因在设置系统参数时,系统默认“栏目网址使用目录名”设置为不显示默认页,导致在主要生成顶级栏目时,入口文件“dex.php”在解析时栏目链接在后台默认加上dex.html。而在上面我们生成顶级栏目时将默认页的名称修改掉了,导致系统没有生成dex.html这个页面。
 
解决方案
 
方法一、
 
直接修改系统参数的“栏目网址使用目录名”的值,改为显示默认页,既选择“否”
 
 
 方案二、
 
修改入口文件“dex.php”,将dex.php中对是否显示默认页的判断去掉,改为一定要显示默认页。
 
将这段代码
 
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists('dex.html'))
{
require_once (dirname(__FILE__) . "/clude/mon.c.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'dex';
$row = $dsql->GetOne("Select From `58pic_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
$row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__).'/dex.html');
clude(dirname(__FILE__).'/dex.html');
exit();
} else { 
$pv->Display();
exit();
}
}
 
改为
 
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists('dex.html'))
{
require_once (dirname(__FILE__) . "/clude/mon.c.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'dex';
$row = $dsql->GetOne("Select From `58pic_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
$row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
// if ($row['showmod'] == 1)
// {
$pv->SaveToHtml(dirname(__FILE__).'/dex.html');
clude(dirname(__FILE__).'/dex.html');
exit();
// } else { 
// $pv->Display();
// exit();
// }
}

 

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by