我是PHP和CodeIgniter.I的新手。我无法完全理解如何通过某种条件正确传输VIEW。我认为这个例子不正确,它可能比我的更多,更美丽和PRO。告诉我这是怎么回事?
我的第1版
控制器:
class Index_controller extends CI_Controller {
public function index(){
$data["account"]=$this->ion_auth->logged_in()?true:false;
$this->load->view('header');
$this->load->view('leftFrame', $data);
$this->load->view('rightFrame');
$this->load->view('index');
$this->load->view('footer');
}
}
查看:
<div class="leftFrame">
<?php
if($account == true){
echo '
<div class="account">
<img src="/images/pic.png">
</div>
';
}
?>
</div>
我的第2版
控制器:
class Index_controller extends CI_Controller {
public function index(){
if($this->ion_auth->logged_in()){
$data["account"] = '<div class="account">
<img src="/images/pic.png">
</div>';
}
$this->load->view('header');
$this->load->view('leftFrame', $data);
$this->load->view('rightFrame');
$this->load->view('index');
$this->load->view('footer');
}
}
查看:
<div class="leftFrame">
<?php
echo $account;
?>
</div>
我的第3版
控制器:
class Index_controller extends CI_Controller {
public function index(){
if($this->ion_auth->logged_in()){
$data["account"] = $this->load->view('account');
}
$this->load->view('header');
$this->load->view('leftFrame', $data);
$this->load->view('rightFrame');
$this->load->view('index');
$this->load->view('footer');
}
}
查看(account.php):
<div class="account">
<img src="/images/pic.png">
</div>
VIEW(leftFrame.php):
<div class="leftFrame">
<?php
echo $account;
?>
</div>
正确吗?:
1? 2? 3?其他
答案 0 :(得分:0)
1 st 选项看起来正确,您要传递变量中的所有值并在视图中操作HMTL ..
2 nd 您正在传递HTML代码的变量,语法正确但视图是操纵HMTL的最佳位置。
3 rd 选项看起来不正确,因为您正在尝试解析控制器中的视图
$data["account"] = $this->load->view('account'); //incorrect
正确的语法
$data["account"] = $this->load->view('account', $data, true);
再次传递价值......
我建议,你应该创建布局并使用子视图作为元素,你可以获得CI布局库layout library