如何通过单击锚标签链接到codeigniter中的其他页面?

时间:2013-01-25 23:32:37

标签: php codeigniter

我只是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>

2 个答案:

答案 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或将它映射到一个路由。