After a period of debugging and analysis, I found that a function was written very messily. It was probably left behind during the revision. After a period of modification and debugging, I finally generated a level 4 page normally. I dare not use it alone, so I will share it with everyone.
I hope it will be helpful to those who want to use the 114la source code but want to give up because of this problem.
Find the modules directory under the management directory and find the mod_make_html.php file.
Replace the get_html_4catalog($cid) function with the following code to generate a level 4 page normally.
/**
* Generate 4-level classification HTML
*
* @param int $cid
* @return string
*/
private static function get_html_4catalog($cid)
{
$timestamp = $_SERVER['REQUEST_TIME'];
$output = '';
$cid = intval($cid);
$dir_tpls_main = mod_config::get_one_config('yl_dirtplmain');
empty($dir_tpls_main) && $dir_tpls_main = 'default';
$path_tpls_main = PATH_TPLS_MAIN . '/' . $dir_tpls_main . '/class';
app_tpl::assign('URL', URL, $path_tpls_main);
$class_list = mod_class::get_class_list();
if ($cid < 0 || empty($class_list[$cid]) || app_db::get_rows_num('ylmf_class', "parentid = '{$cid}'") < 1)
{
return false;
}
/*
* 取得页头
*/
app_tpl::$instance = null;
if (!empty($class_list[$cid]['classname']))
{
$class_name = $class_list[$cid]['classname']; // 2级目录
}
unset($title);
$title = (!empty($class_name)) ? $class_name . '-' . mod_config::get_one_config('yl_sysname') : mod_config::get_one_config('yl_sysname');
app_tpl::assign('title', $title, $path_tpls_main);
// 内页不填写 keywords 和 description 的时候调用系统默认
$class_meta_keyword = empty($class_list[$cid]['keywords']) ? mod_config::get_one_config('yl_metakeyword') : $class_list[$cid]['keywords'];
$class_meta_description = empty($class_list[$cid]['description']) ? mod_config::get_one_config('yl_metadescrip') : $class_list[$cid]['description'];
app_tpl::assign('class_meta_keyword', $class_list[$cid]['keywords'], $path_tpls_main);
app_tpl::assign('class_meta_description', $class_list[$cid]['description'], $path_tpls_main);
// 热门关键字
//app_tpl::assign('search_keyword', self::get_hot_keyword(), $path_tpls_main);
$parent_id = $class_list[$cid]['parentid'];
if (!empty($parent_id))
{
$parent_class_name = $class_list[$parent_id]['classname'];
// 注意自定义路径
$parent_path = $class_list[$parent_id]['path'];
$parent_filepath = (empty($parent_path)) ? URL_HTML . '/catalog/' . $parent_id . '.htm' : URL_HTML . "/{$parent_path}/index.htm";
app_tpl::assign('parent_class_name', "
" . $parent_class_name . "", $path_tpls_main);
}
if (!empty($class_name))
{
app_tpl::assign('current_class_name', $class_name, $path_tpls_main);
}
$site_list = array(); //站点列表
$key_list = array(); //分类导航
$query = app_db::query('SELECT * FROM ylmf_class WHERE parentid = ' . $cid . ' ORDER BY displayorder');
while ($info = app_db::fetch_one($query))
{
$result = app_db::select('ylmf_site', '`id`, `name`, `url`, `class`, `displayorder`, `good`, `namecolor`',
"class = '{$info['classid']}' AND starttime <= {$timestamp} AND (endtime = 0 OR endtime >= $timestamp) ORDER BY displayorder");
$tmp_site = array();
if (!empty($result))
{
foreach ($result as $site)
{
substr($site['url'], -1) == '/' && $site['url'] = substr($site['url'], 0, -1);
$site['good'] = (empty($site['good'])) ? '' : '
√';
if ($site['endtime'] > 0 && $timestamp > $site['endtime'])
{
$site['name'] = 'NULL';
$site['url'] = '#';
}
$site['domain'] = get_domain($site['url']);
$tmp_site[] = $site;
}
}
$info['url'] = '#' . $info['classid'];
$key_list[$info['classname']] = $info;
$site_list[$info['classname']] = $tmp_site;
}
app_tpl::assign('key_list', $key_list, $path_tpls_main);
app_tpl::assign('site_list', $site_list, $path_tpls_main);
unset($rt, $key_list, $site_list);
/*
* 取得主体页尾
*/
app_tpl::$instance->compile_id = mod_config::get_one_config('yl_dirtplmain');
//如果自定义了模版,使用自定义的模版,否则使用默认的 class.tpl 模版
$template = empty($class_list[$cid]['template']) ? 'class.tpl' : $class_list[$cid]['template'];
app_tpl::assign('icp', mod_config::get_one_config('yl_icp'), $path_tpls_main);
app_tpl::assign('icpurl', mod_config::get_one_config('yl_icpurl'), $path_tpls_main);
app_tpl::assign('tongji', mod_config::get_one_config('yl_ipstat'), $path_tpls_main);
$output = app_tpl::fetch($template, $path_tpls_main);
return $output;
}