【发布时间】:2015-07-28 06:19:38
【问题描述】:
我正在学习 PHP 的工作原理,但同时我必须重新设计一个自定义 CMS。
CMS 是用 PHP 编写的,我使用 CSS 重新设置了默认菜单的样式并添加了侧滑效果。但是现在,当我单击菜单中的链接时,我需要保持此侧面板处于打开状态。我认为,最简单的方法是防止页面重新加载 = 在页面内容部分 (<div id="content"></div>) 中打开菜单链接。但是因为在一个源代码中,有很多函数,变量等,我真的需要你的帮助,如何进行。
/Admin/index.php - 菜单部分的内容(放置在单独的文件中)在此处使用函数调用
AdminLib/CSS/style.css - 还包含侧边菜单的样式
AdminLib/Include/menu.php - 这里定义了一个侧边菜单(ul, li)
/Admin/index.php
...
...
...
<body>
<?php if ($page != 'login') {
$menu_obj = new AdminMenu(dirname(__FILE__).'/Tabdefs/');
echo $menu_obj->GetHtml();
?>
<div class="site-wrap">
<?php
}
ContContent();
?>
</div>
...
...
...
AdminLib/Include/menu.php
...
...
...
//vrati html pro svoje menu
public function GetHtml() {
$html = '<ul class="navigation">';
$html .= $this->GetHtmlRecursive($this->menu_def);
$html .= '</ul>';
$html .= '<input type="checkbox" id="nav-trigger" class="nav-trigger" /><label for="nav-trigger"></label>';
return $html;
}
/********** PRIVATE ***********/
//vrati html pro vsechny polozky menu v poli $arr; Pokud tam nejaka ma sub, tak se vola rekurzivne
private function GetHtmlRecursive($arr) {
$html = '';
foreach ($arr AS $item) {
//neukazovane polozky rovnou preskakuju
if ($item['show'] != 'Y')
continue;
//ted jestli mam podpolozky, tak rekurzujeme
if (isset($item['sub'])) {
$html .= '<li class="nav-item"><a href="#">'.$item['nazev'].'</a>'.
'<ul class="nav-item">';
$html .= $this->GetHtmlRecursive($item['sub']);
$html .= '</ul></li>';
}
else {
//pokud podpolozky nemam, tak vypisu normalni polozku
$html .= '<li class="nav-item"><a href="'.$item['url'].'">'.$item['nazev'].'</a></li>';
}
} //foreach pres polozky $arr
return $html;
}
...
...
...
我试图将这样的东西集成到我的源代码中 - 使用 jQuery 脚本(How to target the href to div - JsFiddle 上的第二和第三个链接)到我的源代码中,但我需要帮助来实现 - 我无法让它工作。
【问题讨论】:
标签: php jquery html href target