Я пытаюсь включить следующий код (который содержит некоторые динамические значения) в мой заголовок, если выполняются определенные условия.
<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, поскольку логика остается в контроллере.