Я не знаком с CodeIgnitor, но он может включать ваши шаблоны несколько раз. Попробуйте обернуть свою функцию в чек:
if (!function_exists('myfunc'))
{
function myfunc() {}
}
CodeIgnitor, вероятно, глотает ошибки, поэтому вы также можете попробовать очистить буферы непосредственно перед вашей функцией:
while(ob_end_flush()){}
error_reporting(E_ALL);
ini_set('display_errors', 1);
В действительности, вы, вероятно, должны сделать свой код форматирования строки более общим. Ваш шаблон не очень подходит для добавления функций. Вы начнете дублировать код, и он полностью отрицает необходимость иметь шаблоны. Я бы предложил поэкспериментировать с помощниками CodeIgnitor и плагинами