Codeigniter – как включить динамический файл javascript в представлении

Я пытаюсь включить следующий код (который содержит некоторые динамические значения) в мой заголовок, если выполняются определенные условия.

<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> 

Я прочитал несколько раз, и я начал пробовать следующее, но я получаю сообщение об ошибке, пытающееся вызвать эту функцию из представления, поэтому я немного застрял в лучшем способе ухватить это.

КОНТРОЛЛЕР

 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(); } 

Загрузите представление JS в контроллер и передайте его контроллеру.

$jsview = $this->load->view('view_name', array(), true);

Обратите внимание, что третий параметр имеет значение true. Это вернет вам представление, а не выводит представление на экран.

Затем перейдите к основному виду.

 $data['js'] = $jsview; $this->load->view('mainview',$data); 

Это лучший подход MVC, поскольку логика остается в контроллере.