Есть ли опция в CodeIgniter для загрузки файлов с параметрами, например, в представлениях?
В моем контроллере я загружаю этот файл:
$path_to_logic = "extended_core/plugins/saphir_e-cms/be_extensions/$this->modul_id/package/logic.php"; $logic = $this->CI->load->file($path_to_logic, true);
У меня есть array()
в контроллере, который я передал бы загруженному файлу, например $data
var в представлениях.
Вам нужно добавить эту функциональность в класс Loader
.
Чтобы сделать это, создайте новый файл с именем MY_Loader.php
внутри папки application/core/
, как MY_Loader.php
ниже:
/** * My Custom Loader */ class MY_Loader extends CI_Loader { function __construct() { parent::__construct(); } /** * Custom File loader method * * @param string $path * @param array $vars * @param bool $return * @return void */ public function file($path, $vars = array(), $return = FALSE) { return $this->_ci_load(array( '_ci_path' => $path, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return )); } }
Затем загрузите файл со значениями следующим образом:
$logic = $this->CI->load->file($path_to_logic, array('foo' => 'bar'), true);
Внутри файла у вас будет $foo
.
Почему бы не присвоить ему что-то вроде этого ..
$this->CI->custom_array = array(); $this->CI->custom_array = // Load in array data via function etc..
И затем используйте это в представлении и т. Д.