如果满足某些条件,我正在尝试在标题视图中包含以下代码块(包含一些动态值)。
<script src="<?php echo base_url();?>assets/jquery.Jcrop.js"></script>
<link rel="stylesheet" href="<?php echo base_url();?>assets/jquery.Jcrop.css" />
<script type="text/javascript">
<?php if (isset($load_jcrop_api) && $load_jcrop_api === TRUE) {?>
// Javascript 1
<?php } else { ?>
// Javascript 2
<?php } ?>
</script>
我已经完成了一些阅读,并且我开始尝试以下操作,但是我在尝试从视图中调用此函数时遇到错误,所以我有点卡在最佳方法上。
CONTROLLER
function get_jcrop_ini() {
$this->output->set_header('Content-type: text/javascript');
$data = array( 'messages' => $this->session->flashdata('message'));
$this->load->view('jcrop_ini',$data);
}
查看
if (isset($load_jcrop) && $load_jcrop === TRUE) {
$this->get_jcrop_ini();
}
答案 0 :(得分:1)
在控制器中加载JS视图并将其传递给控制器。
$jsview = $this->load->view('view_name', array(), true);
请注意,第三个参数设置为true。这会将视图返回给您,而不是将视图输出到屏幕。
然后,将其传递给您的主视图。
$data['js'] = $jsview;
$this->load->view('mainview',$data);
这是一种更好的MVC方法,因为逻辑仍然存在于控制器中。