Codeigniter - 控制器无法加载多个视图

3

大家好,感谢您抽出时间来查看我的问题。

我曾经试过同时运行视图(site_nav,site_header和site_footer),结果运行良好。

当我尝试同时运行视图(view_home)和模型时,也能正常工作。

然而,当我同时运行所有视图和模型时,视图(site_nav,site_header和site_footer)就不起作用了。

请问有人可以帮忙吗?

public function home(){
    $this->load->model("model_cms_home");
    $data["results"] = $this->model_cms_home->getData("cms_home");
    $this->load->view("site_nav");
    $this->load->view("site_header");
    $this->load->view("view_home", $data);
    $this->load->view("site_footer");
}


VIEW("view_home")



<div id="home_hat1"> <img src="<?php echo base_url(); ?>pics/home_hat1.jpg"> </div>


<div id="content">

    <div id="dinner">

   <div class="home_title">

     <?php
    $query = $this->db->query("SELECT `title` , `text1` FROM `cms_home` WHERE       `ID` =1");

    if ($query->num_rows() > 0){
    $row = $query->row_array();

        echo $row['title'];

    }           
    ?>
  </div>

<div class="home_content">

    <?php
    $query = $this->db->query("SELECT `title` , `text1` FROM `cms_home` WHERE `ID` =1");

    if ($query->num_rows() > 0){
    $row = $query->row_array();

        echo $row['text1'];

    }           
    ?>
</div>

</div>

1
具体是什么问题?你是否得到了一个空白页面?你的页面是否没有正确地呈现? - Maxime Morin
我只能通过正确的数据传递给它来获取"view_home"视图。但是我的头部、导航栏和页脚视图没有加载。 - Lynnie
顺便说一句,谢谢你的回复,我非常感激!=) - Lynnie
很奇怪,请在您的问题中发布view_home视图,我怀疑其中有些错误。 - Maxime Morin
你在视图中执行的是查询吗?请正确放置视图代码...它现在一团糟。 - avk
3
你的视图文件中不应该含有查询内容。它们应该在模型的函数中,由控制器调用,并将数据作为数组传递给视图。 - Jeemusu
2个回答

3
您不能在一个控制器函数中调用多个视图。 这可以在视图中完成。 我建议您首先创建一个模板,在该模板中像这样调用您的视图:

template.php

<html>
<head>
<body>
   $this->load->view("site_nav");
   $this->load->view("site_header");
   <?php echo $content; ?>
   $this->load->view("site_footer");
</body>
</head>
</html>

你可以在另一个视图/模板中调用视图。但这并不意味着你不能在控制器中调用视图。请查看更多信息:CI3 CI2 - Shaiful Islam

1

我的建议是在view_home中使用include();调用其他页面。根据您的代码,最后一页将被调用,因此您无法看到其他页面。如果您在每个页面中放置一个警报,您将知道它实际上已经调用了所有页面。


啊,对不起大家,这是一个愚蠢的错误。我在view_home页面底部给自己留了一条注释,因此它没有起作用。 我已经删除了注释,现在它正常工作了。感谢Maxime指出问题可能出在哪里,以及所有试图帮助我的人。我非常感激!=) - Lynnie
没问题。不过,你真的应该实现@Jeemusu建议的方式。(在你的视图中没有查询,只有在被你的控制器调用的模型中才有。) - Maxime Morin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接