Foros del Web » Programando para Internet » PHP » CodeIgniter »

Como mostrar las noticias individualmente del Tutorial en español de Codeigniter

Estas en el tema de Como mostrar las noticias individualmente del Tutorial en español de Codeigniter en el foro de CodeIgniter en Foros del Web. Hola, estoy aprendiendo a utilizar el framework hace algún rato, pero al seguir los tutoriales que proporciona esta sección de la web , se me ...
  #1 (permalink)  
Antiguo 10/08/2015, 21:17
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Pregunta Como mostrar las noticias individualmente del Tutorial en español de Codeigniter

Hola, estoy aprendiendo a utilizar el framework hace algún rato, pero al seguir los tutoriales que proporciona esta sección de la web , se me ha presentado un problema al mostrar las noticias individualmente accediendo desde el link donde aparece el listado de estas.

Acá les dejo mis códigos:

application/controllers/news.php

Código PHP:
<?php
class News extends CI_Controller {

    public function 
__construct()
    {
        
parent::__construct();
        
$this->load->model('news_model');
    }

    public function 
index()
    {
        
$data['news'] = $this->news_model->get_news();
        
$data['title'] = 'News archive';

        
$this->load->view('templates/header'$data);
        
$this->load->view('news/index'$data);
        
$this->load->view('templates/footer');
    }

    public function 
view($slug)
    {
        
$data['news'] = $this->news_model->get_news($slug);

        if (empty(
$data['news_item']))
    {
        
show_404();
    }

    
$data['title'] = $data['news_item']['title'];

    
$this->load->view('templates/header'$data);
    
$this->load->view('news/view'$data);
    
$this->load->view('templates/footer');
    }
}
application/model/news_model.php

Código PHP:
<?php
class News_model extends CI_Model {

    public function 
__construct()
    {
        
$this->load->database();
    }

public function 
get_news($slug FALSE)
{
    if (
$slug === FALSE)
    {
        
$query $this->db->get('news');
        return 
$query->result_array();
    }
    
    
$query $this->db->get_where('news', array('slug' => $slug));
    return 
$query->row_array();
}
}
application/views/news/index.php

Código PHP:
<?php foreach ($news as $news_item): ?>

    <h2><?php echo $news_item['title'?></h2>
    <div id="main">
        <?php echo $news_item['text'?>
    </div>
    <p><a href="news/<?php echo $news_item['slug'?>">View article</a></p>

<?php endforeach ?>
application/views/news/view.php

Código PHP:
<?php
echo '<h2>'.$news_item['title'].'</h2>';
echo 
$news_item['text'];
application/config/routes.php

Código PHP:
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news'
Eso es todo, se supone que está el listado de noticias y cada una de estas tiene un link individual que se identifica con la variable $slug.

PD: Utilizo la misma versión del tutorial.
__________________
Tu mente es capaz de todo...
  #2 (permalink)  
Antiguo 10/08/2015, 21:59
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 3 meses
Puntos: 15
Respuesta: Como mostrar las noticias individualmente del Tutorial en español de Codei

Primero: en tu base de datos tienes un campo que se llame slug? porque en la clausula where lo estás nombrando.

Si es cierto que lo tienes:
Para acceder a ver una noticia individual en la ruta debes poner controlador/modelo/numero_de_la noticia ej:

index.php/news/view/1

Y si no lo tienes ahi tienes el fallo.
  #3 (permalink)  
Antiguo 11/08/2015, 11:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 2 meses
Puntos: 6
Respuesta: Como mostrar las noticias individualmente del Tutorial en español de Codei

Sólo agregar que si quieres usar esta estructura: tusitio/controlador/metodo (sin el index.php), deben también configurar el archivo .htaccess, si no te aparecerá error 404

Slds!
  #4 (permalink)  
Antiguo 11/08/2015, 18:14
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Como mostrar las noticias individualmente del Tutorial en español de Codei

Cita:
Iniciado por MrGilbertMan Ver Mensaje
Primero: en tu base de datos tienes un campo que se llame slug? porque en la clausula where lo estás nombrando.

Si es cierto que lo tienes:
Para acceder a ver una noticia individual en la ruta debes poner controlador/modelo/numero_de_la noticia ej:

index.php/news/view/1

Y si no lo tienes ahi tienes el fallo.
Hola, si en mi bases de datos tengo un campo de nombre slug, hice un noticia de ejemplo, se supone que el campo es como una etiqueta, una forma de representar individualmente la noticia, en las noticias que cree de ejemplo el campo slug lo rellene con cualquier nombre, pero al intentar ingresar a la URL sigue saltando el error 404.
__________________
Tu mente es capaz de todo...
  #5 (permalink)  
Antiguo 11/08/2015, 18:15
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Como mostrar las noticias individualmente del Tutorial en español de Codei

Cita:
Iniciado por man0l0 Ver Mensaje
Sólo agregar que si quieres usar esta estructura: tusitio/controlador/metodo (sin el index.php), deben también configurar el archivo .htaccess, si no te aparecerá error 404

Slds!
se supone que CodeIgniter trabaja con el archivo routes.php.
__________________
Tu mente es capaz de todo...

Etiquetas: español, tutorial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:58.