Ver Mensaje Individual
  #8 (permalink)  
Antiguo 03/01/2013, 10:44
Maru77
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 4 meses
Puntos: 5
Respuesta: Codeigniter - integrar contenidos

Hola! Estuve intentando integrar boilerplate pero me encontré con alguna dificultad.

Generé un controlador home

Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/* Heredamos de la clase CI_Controller */
class Home extends CI_Controller {

    function 
__construct() 
    {        
        
parent::__construct();        
    }

    function 
index() 
    {
        
$data =  array('title' => 'homepage''main_content' => 'home_v');
        
$this->load->view('template'$data);
    }

}
y en vistas generé los includes

header (que contendrá el menu y el titulo)
footer (info)

luego también en vistas generé home_v con algo de texto y hasta ahí todo se muestra bien.

También dentro de views armé un template.php

Código HTML:
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>$title</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">

        <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->

        <link rel="stylesheet" href="<?php echo base_url('css/normalize.css'); ?>">
        <link rel="stylesheet" href="<?php echo base_url('css/main.css'); ?>">
        <script src="<?php echo base_url('js/vendor/modernizr-2.6.2.min.js'); ?>"></script>
    </head>
    <body>
        <!--[if lt IE 7]>
            <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
        <![endif]-->

        <!-- Add your site or application content here -->
        <div id="container">
        <header>
        	<?php $this->load->view('includes/header'); ?>
            
        </header>
        
        <div id="main" role="main">
       		<?php $this->load->view($main_content); ?> 
        </div>
        
		
        <footer>
        	<?php $this->load->view('includes/footer'); ?>
        </footer>
        </div> 
        <!-- fin container -->
        
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.3.min.js"><\/script>')</script>
        <script src="js/plugins.js"></script>
        <script src="js/main.js"></script>

        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
        <script>
            var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
            (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
            g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
            s.parentNode.insertBefore(g,s)}(document,'script'));
        </script>
    </body>
</html> 

Lo que tendría que hacer con el resto supongo que sería similar.

Hice un controlador categorias

Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/* Heredamos de la clase CI_Controller */
class Categorias extends CI_Controller {

    function 
__construct() 
    {
        
        
parent::__construct();

        
/* Cargamos la base de datos */
        
$this->load->database();

        
/* Cargamos la libreria*/
        
$this->load->library('grocery_crud');

            
/* Añadimos el helper al controlador */
        
$this->load->helper('url'); 

    }

    function 
index() 
    {
        
/* Puse lo mismo pero cambiando el contenido     */
        //$data =  array('title' => 'categorias', 'main_content' => 'categorias/categorias_v');
        //$this->load->view('template', $data); 
        
                  /* si solo muestro esto funciona el crud */
        //redirect('categorias/categorias_v');
        
    
}

    
/*
     * 
      **/
    
function categorias_v()
    {
        try{

            
/* Creamos el objeto */
            
$crud = new grocery_CRUD();

            
/* Seleccionamos el tema */
            
$crud->set_theme('flexigrid');

            
/* Seleccionmos el nombre de la tabla de nuestra base de datos*/
            
$crud->set_table('categorias');

            
/* Le asignamos un nombre */
            
$crud->set_subject('Categorias');

            
/* Asignamos el idioma español */
            
$crud->set_language('spanish');

            
/* Aqui le decimos a grocery que estos campos son obligatorios */
            
$crud->required_fields(
                
'id_categoria',
                
'nombre_categoria'
            
);

            
/* Aqui le indicamos que campos deseamos mostrar */
            
$crud->columns(
                
'id_categoria',
                
'nombre_categoria'
            
);
            
            
/* Generamos la tabla */
            
$output $crud->render();
            
            
        
            
$this->load->view('categorias/categorias_v'$output);
            
        }catch(
Exception $e){
            
/* Si algo sale mal cachamos el error y lo mostramos */
            
show_error($e->getMessage().' --- '.$e->getTraceAsString());
        }
    }
}
y en vistas categorias_v

Código HTML:
<?php 
foreach($css_files as $file): ?>
	<link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>
<?php foreach($js_files as $file): ?>
	<script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

<?php echo $output; ?> 

solo logro que salga el header y footer pero no el contenido, salen errores en el output

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: css_files

Filename: categorias/categorias_v.php

Line Number: 2
__________________
Saludos!!!
Maru.-