After a period of debugging and analysis, I found that a function was written in a mess. 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.
Copy codeThe code is as follows:
/**
* 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;
}
/*
* Get the page header
*/
app_tpl::$instance = null;
if (!empty($class_list[$cid]['classname']))
{
$class_name = $class_list[$cid]['classname']; // Level 2 directory
}
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);
// When keywords and description are not filled in on the inner page, the system default is called
$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);
//Hot keywords
//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'];
// Pay attention to the custom path
$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(); //Site list
$key_list = array(); //Category Navigation
$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);
/*
* Get the main page footer
*/
app_tpl::$instance->compile_id = mod_config::get_one_config('yl_dirtplmain');
//If the template is customized, use the customized template, otherwise use the default class.tpl template
$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;
}
The above introduces the solution to the problem that 114 114 La source code 114la cannot generate local real estate and local newspapers and periodicals, and the level 4 page is 0 bytes, including the content of 114. I hope it will be helpful to friends who are interested in PHP tutorials.