【发布时间】:2015-01-11 02:28:18
【问题描述】:
我一直在开发一个由其他人创建的网站,此时我无法找到需要编辑菜单的位置。 http://mccorp.com/index 是网站。下面是调用菜单的navigation.php 文件。 loader.php 调用的文件都没有任何菜单信息。最终目标是将两个子菜单项移到另一个子菜单项下,并删除它们从中移出的子菜单项。我觉得它正在从数据库中填充菜单,但数据库页面表除了页面什么都没有,我不知道我可能需要编辑什么来更改它们的顺序和位置,没有一个 parent_pageid 与它们的实际顺序相对应或放置。 page_id 也不规定顺序或位置。下面引用的 index1.php 甚至不存在。我试图提供帮助所需的所有信息,但我没有让我知道,我会更新。我很珍惜时间...
<?php
include('include/loader.php');
//if($current_filename=="index") {
// $parent_query="SELECT page_id, page_name, page_title, parent_pageid, seo_url FROM tbl_pages WHERE is_delete='0' and is_active='0'";
//}
$where ="";
if(basename($_SERVER['PHP_SELF'])=="index.php" || basename($_SERVER['PHP_SELF'])=="index1.php") {
$where = " and page_id not in ('35','36','37','58')";
}
$parent_query="SELECT page_id, page_name, page_title, parent_pageid, seo_url FROM tbl_pages WHERE is_delete='0' and is_active='0' ".$where ." order by rank desc";
$menus_results=$sqlobj->getdatalistfromquery($parent_query);
$arr_menuslist = $arr_menuslist_temp = $arr_submenuslist_temp = array();
if(count($menus_results)>0) {
foreach($menus_results as $key=>$value) {
$arr_menuslist_temp[$value["parent_pageid"]][] = $value;
}
}
if(count($arr_menuslist_temp)>0) {
$arr_menuslist = $arr_menuslist_temp[0];
foreach($arr_menuslist as $key=>$value) {
$arr_sub_menu = $arr_menuslist_temp[$value["page_id"]];
if(count($arr_sub_menu)>0) {
foreach($arr_sub_menu as $subkey=>$subvalue) {
$arr_sub_menu[$subkey]["submenu"] = $arr_menuslist_temp[$subvalue["page_id"]];
$arr_sublevel_menu = $arr_menuslist_temp[$subvalue["page_id"]];
if(count($arr_sublevel_menu)>0) {
foreach($arr_sublevel_menu as $sub_level_key=>$sub_level_value) {
$arr_sub_menu[$subkey]["submenu"][$sub_level_key]["sublevel"] = $arr_menuslist_temp[$sub_level_value["page_id"]];
}
}
}
}
$arr_menuslist[$key]["mainmenu"] = $arr_sub_menu;
}
}
?>
<?php if(count($arr_menuslist)>0) {
$arr_menus_result = $arr_menuslist[0]["mainmenu"];
foreach($arr_menus_result as $key=>$value) {
?>
<li>
<a href="<?php echo $value['seo_url']; ?>"><?php echo $value['page_name']; ?></a>
<?php if(count($value["submenu"])>0) { ?>
<ul>
<?php foreach($value["submenu"] as $subkey=>$subvalue) { ?>
<li>
<a href="<?php echo $subvalue['seo_url']; ?>"><?php echo $subvalue['page_name']; ?></a>
<?php if(count($subvalue["sublevel"])>0) { ?>
<ul>
<?php foreach($subvalue["sublevel"] as $sublevelkey=>$sublevelvalue) { ?>
<li><a href="<?php echo $sublevelvalue['seo_url']; ?>"><?php echo $sublevelvalue['page_name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } } ?>
【问题讨论】:
-
您的菜单似乎由页面组成。在您的数据库中,您的页面有 parent_ids,它们构成了(子)menu_items。如果没有 cms,您可以直接更改数据库中的这些值。在进行更改之前进行备份。
-
这行得通。我更改了 parent_pageid 设置,它可以随心所欲地移动项目。事后看来,这是一个明显而简单的解决方法。感谢您的帮助。
标签: php css sql menu content-management-system