デバッグと分析の期間を経て、関数が非常に乱雑に記述されていることがわかりました。おそらく修正とデバッグを繰り返した後、最終的には単独では使用しないレベル 4 のページを生成しました。 、ということで皆さんにもシェアさせていただきます。
114laのソースコードを使いたいけどこの問題で諦めている方の参考になれば幸いです。
管理ディレクトリの下にある module ディレクトリを見つけて、mod_make_html.php ファイルを見つけます。
get_html_4catalog($cid) 関数を次のコードに置き換えると、レベル 4 ページが正常に生成されます。
コードをコピー コードは次のとおりです:
/**
* 4 レベルの分類 HTML を生成
*
* @param int $cid
* @return string
*/
プライベート静的関数 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 = 'デフォルト';
$path_tpls_main = PATH_TPLS_MAIN 。 '/' 。 $dir_tpls_main 。 '/クラス';
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)
{
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);
// 内部页不充填キーワードと説明の時間気候调用システム默认
$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 = (空($parent_path)) ? URL_HTML 。 '/カタログ/' 。 $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 WHEREparentid = ' . $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) ORDER BY 表示順序");
$tmp_site = array();
if (!empty($result))
{
foreach ($result as $site)
{
substr($site['url'], -1) == ' /' && $site['url'] = substr($site['url'], 0, -1);
$site['good'] = (空($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['クラスID'];
$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]['テンプレート'];
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);
$output を返す;
}