Cómo cargar vistas de MVC en el archivo de plantilla principal

Estoy trabajando en mi propio marco MVC. Debajo hay un ejemplo de controlador que tengo hasta ahora.

Tengo una forma de cargar modelos en mi controlador y también ver archivos.

También quiero tener diferentes opciones de plantilla para mi sitio. Mi plantilla será simplemente un diseño de página que inserta las vistas que se crean desde mi controlador en el medio de mi archivo de plantilla.

/** * Example Controller */ class User_Controller extends Core_Controller { // domain.com/user/id-53463463 function profile($userId) { // load a Model $this->loadModel('profile'); //GET data from a Model $profileData = $this->profile_model->getProfile($userId); // load view file and pass the Model data into it $this->view->load('userProfile', $profileData); } } 

Aquí hay una idea básica del archivo de plantilla …

 DefaultLayout.php      Is the controller has data set for the sidebar variable, then we will load the sidebar and the content    If no sidebar is set, then we will just load the content      

Otra plantilla sin encabezado, pie de página ni nada más se puede usar para llamadas AJAX

 EmptyLayout.php  

Estoy buscando ideas sobre cómo puedo cargar mi archivo de plantilla principal y luego incluir y ver archivos en el área de contenido de mi archivo de diseño principal.

En el archivo de diseño de muestra, puede ver que el área de contenido tiene una variable llamada $ contenido. No estoy seguro de cómo puedo llenar eso con el contenido de las vistas, para insertarlo en mi plantilla de diseño principal. Si tiene alguna idea, publique una muestra

Algo un poco como

 function loadView ($strViewPath, $arrayOfData) { // This makes $arrayOfData['content'] turn into $content extract($arrayOfData); // Require the file ob_start(); require($strViewPath); // Return the string $strView = ob_get_contents(); ob_end_clean(); return $strView; } 

Entonces use con

 $sidebarView = loadView('sidebar.php', array('stuff' => 'for', 'sidebar' => 'only'); $mainView = loadView('main.php', array('content' => 'hello',, 'sidebar' => $sidebarView); 
    Intereting Posts