0

我只是codeigniter的初学者,我试图通过单击超链接重定向到控制器页面(PageController.php)。我可能能够重定向到该特定页面,但该页面的布局不是我所期望的。该页面是我在 routes.php 中设置为默认控制器的页面。当我尚未单击超链接以重定向到该页面时,该页面正常且格式正确。我已经在本地机器上对此进行了测试。希望有人可以帮助我。谢谢!

这是我的代码:

PageController.php

PageController扩展CI_Controller
    {
        函数索引(){
            $this->loadPageHeader();
            $this->loadMenuHeader();
            $this->loadAdvertisingVideo();
            $this->loadMainContent();
            $this->loadSidebar();
            $this->loadPageFooter();
        }
        函数 loadPageHeader(){
            // 正在这里加载页眉...
        }
        函数 loadMenuHeader(){
            // 在此处加载菜单标题...
        }
        函数加载广告视频(){
            // 在这里加载一些东西...
        }
        函数加载主内容(){

            // 这里正在加载页面的主要内容...
        }
        函数加载边栏(){
            // 在这里加载一些...
        }
        函数加载页脚(){
            // 正在加载页脚...
        }
    }



这是执行重定向到控制器页面的超链接。

<a href=<?php echo site_url('PageController');?>首页</a>
<a href=modules.php>模块</a>
<a href=aboutus.php>关于我们</a>

4

2 回答 2

1

根据您在此处显示的内容,您可能希望设置一条路线来捕获此控制器的所有内容。在您的配置 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 段很有用,但在您的情况下可能不是必需的。我对你的场景了解不够。如果我遗漏了什么并且您有更多问题,请随时提问,我可能会更新。

于 2013-01-25T23:38:49.193 回答
0

看看使用路由,例如,如果你有 myfile.php 调用控制器 myfile.php 和类 Myfile 等......那么你可以调用例如 /myfile/my_function 或将其映射到路由。

于 2013-01-25T23:36:36.833 回答