Это определенно возможно сделать, но по соображениям производительности, вероятно, будет быстрее хранить шаблоны в виде файлов в файловой системе, даже если они редактируются пользователями. Если вы умны с именами файлов, вы можете избежать большинства попаданий в базу данных.
В любом случае, если вы действительно хотите сделать это с базой данных, должно работать следующее:
// rendering the header
$template = '<h1>{$header}</h1>'; // loaded from db, don't use double-quotes for examples or $header will be replaced by nothing
$data = array('header' => 'Hello'); // loaded from db as well I assume
$headerOutput = $this->parser->parse_string($template, $data, true); // true makes it return the output
// now rendering the full page (if needed?)
$data = array('header' => $headerOutput);
$this->parser->parse('header', $data); // no 'true', so goes straight to output
В этом случае представление будет содержать {$header}
, и выходные данные из шаблона заголовка передаются в эту переменную.
Теперь я не уверен, как работает CI, поэтому может быть лучше просто вывести результат первого шаблона и полностью пропустить второй, но я оставлю это на ваше усмотрение.