我只是codeigniter的初学者,我试图通过单击超链接重定向到控制器页面(PageController.php)。我可能能够重定向到该特定页面,但页面的布局不是我所期望的。该页面是我在routes.php中设置为默认控制器的页面。当我还没有点击超链接重定向到页面时,页面正常并且格式正确。我在本地机器上测试了这个。希望有人可以帮助我。谢谢!
这是我的代码:
PageController.php
class PageController extends CI_Controller { function index(){ $this->loadPageHeader(); $this->loadMenuHeader(); $this->loadAdvertisingVideo(); $this->loadMainContent(); $this->loadSidebar(); $this->loadPageFooter(); } function loadPageHeader(){ // Loading page header here... } function loadMenuHeader(){ // Loading menu headers here... } function loadAdvertisingVideo(){ // Load something here... } function loadMainContent(){ // Loading the main content of the page here... } function loadSidebar(){ // Loading some here... } function loadPageFooter(){ // Loading page footer... } }
这是执行重定向到控制器页面的超链接。
< a href =<?php echo site_url('PageController');?> Home< / a>
< a href = modules.php>模块< / a>
< a href = aboutus.php>关于我们< / a>
答案 0 :(得分:1)
根据您在此处显示的内容,您可能希望为此控制器设置捕获所有内容的路径。在你的config routes.php文件中添加一行:
$route['PageController(/:any)'] = "PageController";
然后在您的控制器索引方法中,您将解析uri段,如果适用的话......
function index(){
$arg_1 = $this->uri->segment(1);
$arg_2 = $this->uri->segment(2);
//etc.
$this->loadPageHeader();
$this->loadMenuHeader();
$this->loadAdvertisingVideo();
$this->loadMainContent();
$this->loadSidebar();
$this->loadPageFooter();
}
如果您希望一种方法处理此控制器的所有请求,则URL段很有用,但在您的情况下可能不是必需的。我对你的情况了解不多。如果我遗漏了一些问题并且您有更多问题,请随时提出,我可能会更新。
答案 1 :(得分:0)
查看使用路由,例如,如果你有myfile.php调用控制器myfile.php和类Myfile等等,那么你可以调用eg / myfile / my_function或将它映射到一个路由。