菜单视图
<td colspan="3" width="60">
<div id="menu">
<ul>
<li ><a href="pages/home">Home</a></li>
<li><a href="pages/about">About</a></li>
<li><a href="pages/staff">Staff</a></li>
<li><a href="pages/chat">Chat</a></li>
<li><a href="pages/championat">Championat</a></li>
<li><a href="pages/contact">Contact</a></li>
</ul>
</div>
main_view
<table width="1100" border="1" align="center">
<tr>
<?php $this->load->view('header_view'); ?>
</tr>
<tr>
<?php $this->load->view('menu_view'); ?>
</tr>
<tr>
<td colspan="2" id="content">
<?php
$url = $_GET['pages/'];
switch($url)
{
case "home":
require("pages/home");
break;
case "about":
require("pages/about");
break;
}
?>
</td>
<?php $this->load->view('rightMenu_view'); ?>
</tr>
<tr>
<?php $this->load->view('footer_view'); ?>
</tr>
如何切换菜单选项 我尝试这个解决方案,但不起作用!!!! 你能帮帮我吗? 我还有一个控制器名称“页面”这个控制器有方法:home,about,staff,chat,championat THX
帮助PLIZZZ !!!!!!!!!!!
答案 0 :(得分:1)
您需要控制器的功能名称吗?试试这个:
echo $this->uri->segment(2); //will give you home/about/staff etc.
在这里阅读uri segments
。
修改:
$controller = $this->uri->segment(1);
$method = $this->uri->segment(2);
$what_i_need = $controller.'/'.$method;
答案 1 :(得分:1)
你做错了。您的视图永远不应该基于URL做出显示决策。这是控制器的工作。在pages
控制器中,URL的第二部分将映射到同名的函数。然后,您可以在控制器中决定要加载哪个视图,并将其在数据对象中传递给main_view
。
pages.php
(财务主任):
function home()
{
$data['pageURL'] = 'pages/home';
$this->load->view('main_view',$data);
}
然后在main_view.php
:
...
<td colspan="2" id="content">
<?php require($pageURL); ?>
</td>
...
答案 2 :(得分:0)
您可以使用以下
$this->data['controller'] = $this->router->fetch_class();
$this->data['action'] = $this->router->fetch_method();
这将给出控制器名称和方法名称。从控制器传递给视图。