嗨我想只使用变量而非直接名称
加载视图页面这是我的代码: -
function load_views()
{
$this->load->model('test_model');
$data=$this->test_model->getMenu();
foreach($data as $data_menu) {
echo $data_menu->views;
$this->load->view($data_menu->views);
}
}
输出:
test_view
An Error Was Encountered Unable to load the requested file: .php
实际上它从db获取值,但它没有调用视图文件夹中存在的视图文件。
这是我的观点页面:
<div class="panel-heading">
<h3 class="panel-title">Dashboard</h3>
</div>
<br/>
<div class="row">
<?php
$count = 0;
foreach($m as $data_menu){
if(($count% 4== 0))
{
?>
<div class = "row"></div>
<?php
}
?>
<div class="col-md-3">
<!--<a href="<?/*php echo base_url()*/?>index.php/<?php/* echo $data_menu->views*/?>">-->
<a href="<?php echo base_url()?>index.php/dn_login_controller/load_views">
<img class="img-rounded" src="" height="80" width="80" />
<div class="caption">
<h3><?php echo $data_menu->function_name; ?></h3>
</div>
</a>
</div>
<?php
$count++;
}
?>
</div>
</div>
现在在视图中我想动态加载视图但我不能... 请帮帮我......
答案 0 :(得分:0)
如果你var_dump($data)
,你会发现数组中某处有一个空值。
正如kumar_v在评论中所说,尝试检查空值
foreach($data as $data_menu) {
if(!empty(trim($data_menu->views)))
$this->load->view($data_menu->views);
}
答案 1 :(得分:-1)
这个问题可能是因为,您不能直接从单个函数/控制器加载多个视图,当您加载视图CI时会将其发送到浏览器。 还有另外两种解决方法: