Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

No se muestra Bloque

Estas en el tema de No se muestra Bloque en el foro de Drupal en Foros del Web. Hola gente de ForosdelWeb, verán no hace mucho comencé con el desarrollo de Módulos en Drupal, y con Drupal :) Descubriendo un mundo magnifico para ...
  #1 (permalink)  
Antiguo 09/10/2012, 13:19
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 9 meses
Puntos: 52
No se muestra Bloque

Hola gente de ForosdelWeb, verán no hace mucho comencé con el desarrollo de Módulos en Drupal, y con Drupal :) Descubriendo un mundo magnifico para los programadores Web, mi módulo es sencillo, lo que hace es agregar un tipo de contenido con campos personalizados, lo he hecho con API Form y API Field (Para ir aprendiendo un poco mas de las dos opciones), hasta aquí todo bien.

Lo que quiero ahora es crear un bloque donde se listen las 3 ultimas entradas de este tipo de contenido, lo que tengo es lo siguiente, en mi noticias.module para declarar los bloques


Código PHP:
Ver original
  1. function noticias_block_info() {
  2.     $blocks['noticias_recent'] = array(
  3.         'info' => t('Noticias - Recientes'),
  4.         'cache' => DRUPAL_CACHE_PER_ROLE,
  5.     );
  6.    
  7.     $blocks['noticias_most_commented'] = array(
  8.         'info' => t('Noticias - Mas Comentadas'),
  9.         'cache' => DRUPAL_CACHE_PER_ROLE
  10.     );
  11.    
  12.     return $blocks;
  13. }


Esto funciona bien, cuando entro a structure/blocks se muestran los bloques y se puede seleccionar el area donde quieras mostrarlos.

Este es el view:

Código PHP:
Ver original
  1. function noticias_block_view($delta = '') {
  2.     $block = array();
  3.    
  4.     switch ($delta) {
  5.         case 'noticias_recent' :
  6.             $content = noticias_get_block_content(variable_get('noticias_max_display_block_recent_nodes', 3), 'noticias_recent');
  7.             $block['subject'] = t('Noticias Recientes');
  8.             $blcok['content'] = theme('block_recent_nodes', array('content' => $content));
  9.             break;
  10.     }
  11.    
  12.     return $block;
  13. }

Esta es la funcion que me retorna los datos:

Código PHP:
Ver original
  1. function noticias_get_block_content($maxdisplay, $block) {
  2.     $content = array();
  3.    
  4.     switch ($block) {
  5.         case 'noticias_recent' :
  6.             $consulta = db_select('node', 'n')
  7.                         ->fields('n', array('nid', 'title', 'created'))
  8.                         ->condition('type', 'noticias', '=')
  9.                         ->condition('status', 0, '>')
  10.                         ->orderBy('created', 'DESC')
  11.                         ->execute();
  12.            
  13.             foreach ($consulta as $node) {
  14.                 $content[$node->nid]['link'] = l($node->title, 'node/' . $node->nid);
  15.                 $content[$node->nid]['date'] = format_date($node->created);                
  16.             }
  17.            
  18.             return $content;
  19.            
  20.             break;
  21.     }
  22. }

Este es hook_theme:

Código PHP:
Ver original
  1. function noticias_theme($existing, $type, $theme, $path) {
  2.     return array(
  3.         'block_recent_nodes' => array(
  4.             'template' => 'templates/block-recent-nodes',
  5.             'variables' => array('content' => array()),
  6.         ),        
  7.     );
  8. }

En mi tpl tengo esto:

Código PHP:
Ver original
  1. <div class="mf-block-recent-nodes-all">
  2.     <?php foreach ($content as $element) : ?>
  3.         <div class="mf-block-recent-nodes-item">
  4.             <div class="mf-block-recent-nodes-item-date"><?php print $element['date'];?></div>
  5.             <div class="mf-block-recent-nodes-item-link"><?php print $element['link'];?></div>
  6.         </div>
  7.     <?php endforeach; ?>
  8. </div>

Cuando entro structure/blocks y configuro que mi bloque Noticias Recientes se muestre en el Sidebar First guarda bien, pero voy al home y no aparece el Bloque, cabe aclarar que hay entradas para ese tipo de contenido.

Espero puedan ayudarme gracias.
__________________
Aprendiendo!!!
  #2 (permalink)  
Antiguo 09/10/2012, 13:34
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: No se muestra Bloque

Pero solo te pasa en la home o en todas las paginas? Puede ser un problema de la region (Sidebar first) que no se muestra en la frontpage. Eso lo podes ver en el page.tpl.php

Ya nos dirás cosas.

Saludos.
  #3 (permalink)  
Antiguo 09/10/2012, 13:44
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 9 meses
Puntos: 52
Respuesta: No se muestra Bloque

Pasa en el home y en las demas paginas, no creo que sea un problema de esa region, lo digo por dos razones, 1: es un tema nativo de Drupal 7, Bartik. 2: En esa misma region me esta mostrando otros bloques...
__________________
Aprendiendo!!!
  #4 (permalink)  
Antiguo 09/10/2012, 15:02
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: No se muestra Bloque

Esta claro que si ves mas bloques en esa región entonces esta todo bien, pasa que no lo habías puesto en el post.
Directamente no ves el bloque o lo ves vacío? Yo me inclinaría por lo segundo, debugea la función noticias_get_block_content , y también la variable $content en el template a ver si en algún lado tenés resultados vacíos.

Saludos.
  #5 (permalink)  
Antiguo 09/10/2012, 15:06
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 9 meses
Puntos: 52
Respuesta: No se muestra Bloque

No veo el bloque. Voy a hacer lo que me dices gracias...
__________________
Aprendiendo!!!
  #6 (permalink)  
Antiguo 09/10/2012, 15:16
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 9 meses
Puntos: 52
Respuesta: No se muestra Bloque

Ok, señores les pido una disculpa, ya se cual es el problema si pueden ver en la linea 8 del codigo del view la variable block esta mal definida, esta asi blcok.

Gracias.
__________________
Aprendiendo!!!

Etiquetas: campos, contenido, muestra, bloques, themes
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 11:09.