Как добавить user функции в Twig?
twig.sensiolabs.org/doc/advanced.html

<?php defined('SYSPATH') or die('No direct script access.');

class My_Twig_Extension extends Twig_Extension {
	public function getName()
	{
		return 'my_twig';
	}
	
	public function getFilters()
	{
		return array();
	}
	
	public function getFunctions()
	{
		return array(
			'get_article' => new Twig_Function_Method($this, 'get_article',
				array('is_safe' => array('html'))),
		);
	}
	
	function get_article($id) {
		 //делаем выборку из БД и записываем в result
		 return $result;
	}
	
	public function getTests()
	{
		return array();
	}
}


В конфиге твига:

<?php defined('SYSPATH') or die('No direct script access.');

return array(
	'default'    => array(
		'extensions' => array(
			'My_Twig_Extension',
		),
	),
);

Вообще такие вещи обычно делаются через HMVC.