2010-07-08 15 views

Respuesta

12

vistas maestros no están integrados en el marco. Para obtener un efecto similar, puede cargar la subvista y pasarla a la vista maestra.

controlador:

class Items extends Controller 
{ 
    function show($id) 
    { 
     $item = $this->item_model->get_item($id); 

     // Load the subview 
     $content = $this->load->view('item/show', array('item' => $item), true); 

     // Pass to the master view 
     $this->load->view('master_view', array('content' => $content)); 
    } 
} 

vista Patrón:

<div id="header"> 
</div> 
<div id="content"> 
    <?php echo $content; ?> 
</div> 
<div id="footer"> 
</div> 

para responder a su otra pregunta, sigo todos los scripts de JavaScript y CSS en los directorios en la raíz de mi proyecto.

+0

esto era exactamente lo que estaba buscando, muchas gracias :) – GerManson

0

No estoy muy familiarizado con .NET o CodeIgniter, pero parece ser la misma funcionalidad puede ser proporcionada por el uso juicioso de Views. La primera oración en esa página dice:

De hecho, las vistas se pueden integrar flexiblemente en otras vistas (dentro de otras vistas, etc., etc.) si necesita este tipo de jerarquía.

Esto parece exactamente lo que proporciona una página maestra. Y, de hecho, la mayoría de los marcos de PHP y sistemas de plantillas proporcionan las mismas características.

En respuesta a su segunda pregunta, es posible que desee mantener sus scripts, estilos e imágenes en carpetas separadas fuera de la raíz web. Creo que las URL son relativas a index.php, por lo que mantener sus recursos cerca de allí los haría más fáciles de consultar en sus puntos de vista. Otra opción es echar un vistazo al Asset Helper.

+0

ahora estoy obteniendo la funcionalidad de jugar con vistas, pero quería saber si hay algo que realmente solucione el problema de una manera más inteligente y fácil. – GerManson

+0

Debo admitir que no sé nada sobre MasterPages y tuve que buscarlos. Por lo que he leído, parece que cada página de contenido necesita hacer referencia a su página maestra, que no parece muy diferente de cargar una vista principal en cada controlador de "contenido". Corrígeme si estoy equivocado. – TNi

+0

http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx – GerManson

2

No estoy seguro de que tengan algo exactamente como una página maestra. CodeIgniter es más un framework MVC y usa vistas y controles para construir páginas. Si eres nuevo en CodeIgniter, net.TutsPlus tiene un muy buen series of videos que profundiza sobre cómo usar el framework para diferentes escenarios. Consulte la sección llamada "Ponerse al día" para ver la lista de videos.

Espero que esto ayude a algunos y buena suerte en su proyecto.

+0

gracias por el enlace, realmente lo aprecio – GerManson

Cuestiones relacionadas