Cómo pasar datos personalizados a una plantilla

Soy nuevo en los marcos OOP en general y en Silverstripe en particular. Estoy seguro de que me estoy perdiendo algo vital!

Actualmente estoy intentando crear un feed de twitter para mi página principal. En mi Page_controller tengo:

public function getTwitterFeed() { ... }

... que recibe un conjunto de tweets. Puedo formatear estos datos de cualquier manera que me guste, por lo que la estructura de los datos y la función deberían ser irrelevantes.

En los tutoriales de Silverstripe dan el siguiente ejemplo:

public function LatestNews($num=5) {
    $holder = NewsHolder::get()->First();
    return ($holder) ? News::get()->filter('ParentID', $holder->ID)->sort('Created', 'DESC')->limit($num) : false;
}

Esto se llama en la plantilla de la siguiente manera:

<% loop LatestNews %>
    <% include NewsTeaser %>
<% end_loop %>

Sin embargo, esta función se basa en un objeto DataModel (NewsHolder) y obtiene datos de la base de datos (que no es mi función de Twitter).

Entonces, ¿qué tipo de variable debería devolver esta función? ¿Una matriz? ¿Un objeto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta