Значение (название файла стилей) темы необходимо сохранить в переменную, которую уже потом выводить в шаблон шапки... $data['theme'] = $_session и тд. Вообще, там есть массив сессий $this->session->data['...'], потому:
if(isset($this->session->data['theme']))
$data['theme'] = $this->session->data['theme'];
else
$data['theme'] = 'название темы по дефолту';
Cоздайте в контроллере шапки отдельную функцию и там распишите сохранение значения темы.
if(isset($this->request->get['theme'])){
$theme = $this->request->get['theme'];
if($theme == 'light' || $theme == 'dark')
$this->session->data['theme'] = $theme;
}
Обращайтесь к функции в файле шапки: index.php?route=common/header/choose_theme&theme=light .. Вообще, такие дела лучше делать через куки, а не сессии.. О ужас. Через сессии оно постоянно будет ставить тему по умолчанию. Да и лишний раз к серверу обращаться не нужно будет.