【问题标题】:how to include a file in codeigniter如何在codeigniter中包含文件
【发布时间】:2017-01-10 14:22:40
【问题描述】:

嗨,我的网站上有一个页面,上面有酒店的名称。这是酒店页面的代码。

这是我的控制器:

function country_holiday(){
    $data['hotels']= $this->Travel->holiday();
    $this->load->view('hotels', $data);
}

这是我的模型:

function holiday(){
    $this->db->select();
    $this->db->from('holidays_hotel_2');
    $this->db->order_by('rand()');
    $this->db->limit(16);   
    $query= $this->db->get();                   
    return $query->result_array();
}

我在酒店页面上获得所需的数据并且它工作正常,我想将此酒店页面包含到我的另一个页面(酒店计划)中。

我使用了我想在酒店计划页面中放置该酒店的位置,但除了酒店页面的 html 之外,它没有显示任何详细信息。我应该怎么做。有什么想法吗??

【问题讨论】:

  • 您想在另一个页面中显示相同的酒店详细信息,让我澄清一下您到底要问什么??
  • 是的,我想显示酒店详细信息
  • $data['hotels']= $this->Travel->holiday();在其他视图中使用此行,您还将在该页面中获得相同的详细信息
  • @HarrisKhan 你能解释一下吗
  • 就像我们包含标题

标签: php codeigniter codeigniter-2 codeigniter-3


【解决方案1】:

据我了解,您希望将您的酒店页面包含在酒店页面中。这意味着您想在另一个视图中调用视图。是的,你可以。

在您的控制器中,

function country_holiday(){
    $data['hotels']= $this->Travel->holiday();
    $this->load->view('hotelling', $data);
}

在您看来 (hotelling.php),

<html>
  <head>
    <title></title>
  </head>
  <body>
     <?php $this->load->view('hotels', $hotels); ?>
  </body>
</html> 

但我不确定这样做的缺点。但它会起作用。

【讨论】:

    【解决方案2】:

    我认为您希望将一个控制器包含到另一个控制器中,就像继承一样,这样您就可以自动使用父控制器功能而无需编写额外的代码。因此,您只需使用父控制器扩展您的控制器并要求它在子控制器中的路径,您可以使用 $this 来使用它们的功能。

    require('application/controllers/Hotel.php'); /*You have to define the path of the file*/
    class Hotelling extends Hotel  /*Then your hotelling controllers extends hotel controller*/
    {
        public function index()
        {
            $data = $this->country_holiday();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 2017-07-21
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多