2014-01-13 43 views
1

我可以从codeeriter中的助手加载视图吗?我一直在寻找礼物,但似乎没有人讨论过它。从帮手Codeigniter加载视图?

+1

这不是在文档的帮手部分记录,但[“创建库”部分(你的图书馆内利用CodeIgniter的参考资料) ](http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html)。这有点令人困惑。 –

回答

4

是的,你可以。创建你的助手,说views_helper.php

if(!function_exists('view_loader')){ 

    function view_loader($view, $vars=array(), $output = false){ 
    $CI = &get_instance(); 
    return $CI->load->view($view, $vars, $output); 
    } 
} 

$view是视图文件名(如你通常会使用),并$vars你想传递(如你通常会做)数组变量,传递一个true作为可选的第三个参数使其返回(正常情况下会发生)作为内容,而不是仅仅加载它;

只需加载你的助手(或自动加载它):

$this->load->helper('views'); 
$data = array('test' => 'test'); 
view_loader('myview', $data) 
+0

不错!但也许你可以添加直接输出的第三个参数? – thpl

+0

@ThomasDavidPlat谢谢,更新回答,以反映您的建议 –

+0

我在搜索'$ page = $ this-> load-> view('view',$ data,TRUE)时发现了这个问题;',可以将上面的参数(代表文件名,变量,视图中的可选参数)? –