【问题标题】:Codeigniter - Can't load data into header or footerCodeigniter - 无法将数据加载到页眉或页脚
【发布时间】:2014-09-16 03:15:34
【问题描述】:

我是 Codeigniter 的新手,在将数据加载到页眉和页脚时遇到问题。我在另一个可以工作的控制器中使用了这段代码,但在发送到页眉或页脚时不起作用。

控制器(尝试):

public function loadSettings() {
    $settings = $this->settingmodel->getSetting();
    $data = (array) $settings[0];

    $this->load->view('header', $data);
  }  

工作控制器:

public function index() {

    if ($this->session->userdata('logdinUser')) {

        $sessionArray = $this->session->userdata('logdinUser');

        if ($sessionArray['type'] == USERTYPE_PLAYER)

            redirect(site_url('player'), 'refresh');

        if ($sessionArray['type'] == USERTYPE_PROFESSOR)

            redirect(site_url('game'), 'refresh');

        if ($sessionArray['type'] == USERTYPE_ADMIN)

            redirect(site_url('admin'), 'refresh');
    }

    $admin = $this->settingmodel->getSetting();
    $settings = (array) $admin[0];

    $this->load->view('user/index', $settings);
}

模型调用:

public function saveSetting($array, $id = false) {
      $setting['environment'] = $array['environment'];
      $setting['analytics'] = $array['analytics'];
        $setting['email'] = $array['email_id'];
        $setting['paypal_amount'] = $array['paypal_amount'];
        $setting['paypal_type'] = $array['paypal_type'];
        $setting['paypal_currency'] = $array['paypal_currency'];
        $insertedid=$id;

      if ($id)
            $updated = $this->mongo_db->where('_id', new MongoId($id))->set($setting)->update($this->table_name);
      else
          $insertedid=$this->mongo_db->insert($this->table_name, $setting);
        return $insertedid;

    }

    function getSetting() {
        $query = $this->mongo_db->get($this->table_name);
        return $query;
    }

在视图中:

echo $environment;

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    我就是这样的

    我在rootroot 中创建了通用layout.php 文件,并将所有内容加载到该文件中。我将java script and css 文件和通用ajax /jquery 代码包含到我的布局文件中

    <html>
     <head> 
    
            <title> </title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
             <!-- include common css/js in here --> 
    
     </head>
    <body>
      <div class="panel-body">
         <!--load your content to here.-->
         <?php echo $content; ?> 
    
      </div>
    
    </body>
    </html>
    

    你可以这样调用表单控制器。

    function home() {
    
        $data['other_data'] = $this->other_model->other_data();
        $data['content'] = $this->load->view('home/content', $data, true);
        $this->load->view('layout', $data);
    
    }
    

    【讨论】:

    • 似乎是常见的建议,这是否需要大量工作才能配置。我正在尝试了解如何不必通过 30 个视图文件来重新配置整个应用程序以使用这个布局文件。
    猜你喜欢
    • 2014-03-08
    • 1970-01-01
    • 2015-01-04
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多