Как переопределить массив конфигурации в контроллере в CodeIgniter?

У меня есть файл app/config/template.php :

 $config['head_meta'] = array( 'charset' => 'UTF-8', 'description' => '', 'keywords' => '', 'stylesheets' => array( 'template.css' ), 'scripts' => array( 'plugins/jquery-2.0.3.min.js', 'plugins/bootstrap.min.js' ), 'end_scripts' => array( 'template.js' ) ); 

Мне нужно переопределить это описание внутри функции app/controllers/pages.php функции моего app/controllers/pages.php :

 function contact($pagename = 'Contact', $slug = 'contact'){ // load dependencies $this->load->library('form_validation'); $this->lang->load($slug); // page settings $this->config->set_item('page_name', $this->lang->line('menu_subtitle_contact')); $this->config->set_item('page_slug', $slug); $description = $this->config->item('description', 'head_meta'); var_dump($description); $data['view'] = $this->load->view($slug, '', TRUE); $this->load->view('templates/default', $data); } 

Как я могу это сделать? В документах CI2 есть пример переопределения значения config следующим образом: $this->config->set_item('configItem', 'value');

Но как это должно быть, если элемент my config – массив? Я попробовал $this->config->set_item('description', 'head_meta', 'NewValue'); но это не сработало

Спасибо за советы

К сожалению, используя $this->config->set_item('item_name', 'item_value'); , невозможно изменить конкретный элемент массива внутри значения конфигурации.

Вероятно, вам нужно получить текущее значение конфигурации, изменить его и снова установить:

 $this->config->set_item('head_meta', array_merge( $this->config->item('head_meta'), array('description' => 'newValue') ));