Самый изящный способ, которым я могу думать, был бы следующим:
1 . В вашем контроллере или, если у вас есть MY_Controller (это намного лучше), добавьте новое защищенное (поэтому оно доступно для всех контроллеров) свойство, которое будет хранить все загруженные CSS-файлы.
protected $_addCss = array();
2 . Добавьте новый метод для установки новых CSS-файлов в этот массив:
protected function _addCssFile($file)
{
$this->_addCss[] = $file;
return $this; //So you can chain it when adding but not necessary
}
3 . Новый метод для ручной загрузки всех добавленных CSS-файлов.
protected function _loadCssFiles()
{
//Load the vars then reset the property to empty array again
$this->load->vars(array('add_css' => $this->_addCss));
$this->_addCss = array();
return $this;
}
4 . В вашем контроллере приложения вы можете использовать его так:
public function __construct()
{
parent::__construct();
$this->_addCssFile('contents');
}
public function test()
{
//Chain the methods so you can add additional css files
$this->_addCssFile('contents')
->_addCssFile('rating')
->_loadCssFiles()
->load->view('test');
}
5 . На ваш взгляд:
echo '<pre>';
print_r($add_css);
echo '
';
Result:
Array
(
[0] => contents
[1] => contents
[2] => rating
)