關於dedecms新增頂級欄目是默認頁的設置


問題描述:在設置頂級欄目的默認頁名稱時,將系統默認的默認頁名稱“index.html”改成其他的名稱,在生成HTML后,點擊主頁的欄目則不能跳轉到生成的HTML頁面中。

其跳轉的頁面如下:

主要原因:在設置系統參數時,系統默認“欄目網址使用目錄名”設置為不顯示默認頁,導致在主要生成頂級欄目時,入口文件“index.php”在解析時欄目鏈接在后台默認加上index.html。而在上面我們生成頂級欄目時將默認頁的名稱修改掉了,導致系統沒有生成index.html這個頁面。

解決方案:

方法一、

直接修改系統參數的“欄目網址使用目錄名”的值,改為顯示默認頁,既選擇“否”

 

 方案二、

修改入口文件“index.php”,將index.php中對是否顯示默認頁的判斷去掉,改為一定要顯示默認頁。

將這段代碼

//自動生成HTML版
if(isset($_GET['upcache']) || !file_exists('index.html'))
{
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select * From `#@__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__).'/index.html');
include(dirname(__FILE__).'/index.html');
exit();
} else {
$pv->Display();
exit();
}
}

改為

//自動生成HTML版
if(isset($_GET['upcache']) || !file_exists('index.html'))
{
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select * From `#@__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__).'/index.html');
include(dirname(__FILE__).'/index.html');
exit();
// } else {
// $pv->Display();
// exit();
// }
}

相關知識:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM