在视图文件codeIgniter中使用$ this

时间:2015-02-19 04:35:45

标签: codeigniter

我是CI的新手,我有一些问题

我有下面的控制器



public function show_admin()
	{
		$data['data_admin'] = $this->M_Admin->get_admin();
		$data['page'] = 'show_admin';

		
		$this->load->view('admin/template',$data);
	}




然后我在我的视图文件夹中有模板,如下所示



<body>
		<div id="wrapper">
			<div id="header">
				<?php 
					$data['session'] = $this->session->all_userdata();
					$this->load->view('admin/header',$data);?>
			<div id="content">
				
				<?php 
			

				$this->load->view('admin/'.$page);?>
			</div>
			<div id="footer">
				<?php $this->load->view('admin/footer');?>
			</div>
		</div>
	</body>
&#13;
&#13;
&#13;

和show_admin(查看文件)如下所示

&#13;
&#13;
<div id="isi_content">
					<span><a href="c_add_admin"><img src="<?php echo base_url();?>assets/admin/images/add.png">Tambah</a></span>
					<table class="table table-hover table-bordered">
						<tr>
							<th>No</th>
							<th>Nama</th>
							<th>Username</th>
							<th>Login Terakhir</th>
							<th>Aksi</th>
						</tr>
						<?php
						$no=1;
						
						foreach($data_admin as $admin){
							$id = $admin['id_admin'];
							$url = site_url('admin/C_Admin/c_delete_admin');
							echo 
							'<tr>
								<td>'.$no.'</td>
								<td>'.$admin['nama_admin'].'</td>
								<td>'.$admin['username'].'</td>
								<td>'.$admin['tgl_last_visit'].'</td>
								<td class=aksi><a href='.site_url('admin/C_Admin/c_edit_admin/'.$admin['id_admin'].'').'><img src='.base_url().'assets/admin/images/edit.png></a>
									<a href=# onclick="return delete_data('.$id.',\''.$url.'\')"> <img src='.base_url().'assets/admin/images/delete.png></a></td>
							
							</tr>';
							$no++;
						}
						
						
						?>
					</table>
				</div>
&#13;
&#13;
&#13;

并且代码运行良好,

是正常的codeIgniter在视图文件中使用$ this吗?

我很困惑这个.. 谢谢你的回答...

1 个答案:

答案 0 :(得分:1)

不,您不应该使用该session变量,也不应在其他视图上加载任何视图。这一切都应该在控制器中完成。你可以做的是分解你的代码,比如它的一个视图文件中的标题和另一个视图文件中的页脚,然后你可以在控制器中加载它们,如下所示:

public function show_admin()
{
    $data['data_admin'] = $this->M_Admin->get_admin();
    $data['page'] = 'show_admin';
    $head_data['session'] = $this->session->all_userdata();
    $this->load->view('header', $head_data);
    $this->load->view('admin/template',$data);
    $this->load->view('footer');
}