Hola vicmontol,
Es un problema de sobreescribir las variables.
Con este código (no lo he probado), debería ser suficiente :
Pon esto al principio del archivo del theme
<?php $static_page = View::newInstance()->_get('page'); ?>
Luego, muestra el menu
<?php osc_reset_static_pages() ; ?>
<?php while( osc_has_static_pages() ) { ?>
<a href="<?php echo osc_static_page_url() ; ?>"><?php echo osc_static_page_title() ; ?></a> |
<?php } ?>
Justo después del menú pon esto otro
View::newInstance()->_exportVariableToView('pages', $static_page);
Te explico lo que pasa. Hay una variable "page" que es la que contiene la información de la página que estás viendo, también hay una variable "pages" que contiene los datos de las páginas apra ponerlas en el footer. Los "helpers" (por ejemplo osc_static_page_title(); ) buscan que exista alguna de las dos vairables, primero pages y luego page (aunque para este ejemplo es lo mismo). Básicamente lo que pasa es que antes de cargar la página guardamos los datos de esa página en concreto en "page", luego los sobre escribimos con los datos de TODAS las páginas para mostrar los enlaces en el footer (si te fijas, se hace un osc_reset_static_pages()

con lo que la información se reemplaza de una por otra.
Lo que hace el código no es más que guardar los datos de la página estática en una tercera variable, sobreescribir la información para mostrar los enlaces y volver a exportar la variable para que el resto del template funcione.
Saludos