Foros del Web » Programando para Internet » PHP »

CakePHP: ¿cómo pasarle datos un lauout?

Estas en el tema de CakePHP: ¿cómo pasarle datos un lauout? en el foro de PHP en Foros del Web. Buen día. A lo ue m refiero es que ya se hacer los modelos, vistas y controladores pero el problema es que no se como ...
  #1 (permalink)  
Antiguo 14/01/2011, 22:16
 
Fecha de Ingreso: julio-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 1
CakePHP: ¿cómo pasarle datos un lauout?

Buen día.
A lo ue m refiero es que ya se hacer los modelos, vistas y
controladores pero el problema es que no se como hacer que la página
página principal muestre informacion de distintos modelos.
Me explico mejor, digamos que yo quiero hacer una pagina donde habrán
3 secciones (noticias, artículos, eventos) y ependindo de lo que sea
podre crear categorias, las categorias tendran una vita para gregar,
editar y borrar asi que por ejemplo yo bescribiera algo sobre una
nueva version de firefox quedaria en seccion noticia categoria
internet. Bueno lo que yo deseo es hacer 2 cosas.

1. en el layout default.ctp que será el que se mostrara en todas las
vistas ponerle en un sidebar un menu con todas las categorias
excistntes el cual sería dinámico ya que esa info vendri de la tabla
categorias y poner los ultimos 10 comentaios por ejemplo.

2. Haré la pagina de inicio que seria home.ctp en el directorio pages
pero entonces ahi quiero que se muestén los ultimos articulos,
noticias y demas pero no se como recoger la info.

me ayudan?
  #2 (permalink)  
Antiguo 14/01/2011, 22:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: CakePHP: ¿cómo pasarle datos un lauout?

pues si ya sabes extraer información de la base de datos a través de tus modelos no veo cual es el problema...

solo se trata de obtener datos, asignarlo a una vista, y en la vista renderiza... bingo!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/01/2011, 10:13
 
Fecha de Ingreso: julio-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: CakePHP: ¿cómo pasarle datos un lauout?

Cita:
Iniciado por pateketrueke Ver Mensaje
pues si ya sabes extraer información de la base de datos a través de tus modelos no veo cual es el problema...

solo se trata de obtener datos, asignarlo a una vista, y en la vista renderiza... bingo!!
¿Cuál es el problema?
te lo explico:
Si tengo una tabla llamada posts tambien tendré un modelo llamado Post y el controller Posts y con sus vistas presento los post. OK perfecto!!!!
¿Pero si quiero que los titulios de los ultimos comentarios de esos post aparezcan en un sidebar incrustado en el layout para que se ve en toda las páginas como lo hago?

un layout no tiene modelo y aunque lo tuviera no tiene relación con ningún modelo y eso es lo que quiero, ecoger la info de ciertos modelos y presentarla en el layout y tambien usarlas en elementos y en componentes
  #4 (permalink)  
Antiguo 15/01/2011, 10:19
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: CakePHP: ¿cómo pasarle datos un lauout?

Que tal SJENERT, dejo una referencia a los Helpers, busca al final tiene una sección que se llama "Creating Your Own Helpers".

Saludos.
  #5 (permalink)  
Antiguo 15/01/2011, 10:41
Avatar de zinfinal  
Fecha de Ingreso: octubre-2009
Ubicación: Tacna, Peru
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: CakePHP: ¿cómo pasarle datos un lauout?

si quieres usas las dos "tablas" (modelos (de posts y comentarios)) tienes que usar $uses :) en tu controlador.

ejemplo:
app/controllers/comentarios_controller.php

Código PHP:
class ComentariosController extends AppController{
    var 
$name "Comentarios";


app/controllers/posts_controller.php

Código PHP:
class PostsController extends AppController{
    var 
$name "Posts";
    var 
$uses = array('Post','Comentario'); //nombre de los modelos.
    
    
function mostrarcomentarios(){
        
$comentarios    $this->Comentario->find('all',array('fields'=>array('Comentario.id','Comentario.cuerpo'),'order' =>'Comentario.fecha DESC'));
        
        
$this->set(compact('comentarios'));
    }

app/view/posts/mostrarcomentarios.ctp

Código PHP:
debug($comentarios); //muestra todos los datos (parecido a print_r()) 
bueno eso fue lo que te entendi de pregunta, si no es la repuesta, formula de nuevo tu pregunta pero bien :)
  #6 (permalink)  
Antiguo 15/01/2011, 13:13
 
Fecha de Ingreso: julio-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: CakePHP: ¿cómo pasarle datos un lauout?

muchas gracias por las respuesta, intentaré con $uses con un element para ser cargado en el sidebar del layout.ctp para que esos registros puedan ser vistos en el sidebar en todas las vistas

Etiquetas: cakephp
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 14:09.