Widget con informacion de Eventos en Calendario

  • Autor Autor barcraft
  • Fecha de inicio Fecha de inicio
B

barcraft

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola Amigos,

Alguien sabe si es posible tener un Widget en el HOME en donde pueda ver la lista de los ultimos X Eventos programados?

Desde ya, muchas gracias por la ayuda.
 
Pues todo es posible, si sabes programar en PHP podrías hacer un widget php y sacar de la db lo que quieres. Si te refieres a si vBulletin trae alguna forma de hacerlo, pues no la trae. Solo podrías creando un widget utilizando PHP.
 
Pues todo es posible, si sabes programar en PHP podrías hacer un widget php y sacar de la db lo que quieres. Si te refieres a si vBulletin trae alguna forma de hacerlo, pues no la trae. Solo podrías creando un widget utilizando PHP.

Dale, algo estuve pillando por ahi, el problema es que no se PHP.

Lo que tengo dudas, es si en los Widgets se pueden programar tal cual se hacen las plantillas. Por ejemplo con esos {vb:algo} {vb:funcionx} ... porque de ser asi ya sabria como... se puede?
 
Amigos,

Encontré como hacerlo, para a quienes les interesa deben:

1.- Crear un Widget que ejecute PHP

2.- Editarlo y poner el siguiente codigo:

Insertar CODE, HTML o PHP:
ob_start();

//  %d
$show_count = 5;

$query = sprintf("SELECT * FROM ".TABLE_PREFIX."event WHERE visible = 1 AND (dateline_from >= '%d' || (  dateline_from >= '%d' AND dateline_to <= '%d' )) ORDER BY dateline_from ASC LIMIT %d",TIMENOW,TIMENOW,TIMENOW,$show_count);

$event_get = vB::$db->query_read($query);

$output_bits = '';
while($event = vB::$db->fetch_array($event_get)) {

     if($event['dateline_to'] == 0 )
     {
         $format = sprintf("%s",date('jS M Y',$event['dateline_from']));
     } else {
         $format = sprintf("Desde el %s al %s",date('jS M Y',$event['dateline_from']),date('jS M Y',$event['dateline_to']));
     }
     
     $output_bits .= sprintf('
        <div class = "cms_widget_post_bit"><h4 class="cms_widget_post_header"><a href="calendar.php?do=getinfo&e=%d">%s</a></h4>
            <p class="cms_widget_post_content">%s</p>
        </div>
        ',$event['eventid'],$event['title'],$format);

}
$output = $output_bits;

ob_end_clean();

El único problema que tengo es con los Eventos del día, no me los muestra y creo que encontre la falla.

Revisé el SQL y es:

Insertar CODE, HTML o PHP:
SELECT *
  FROM beta_event
 WHERE visible = 1
  AND (dateline_from >= '1266261207' || (  dateline_from >= '1266261207' AND dateline_to <= '1266261207' )) 
ORDER BY dateline_from ASC LIMIT 5;

El valor '1266261207' es el resultado de lo obtenido con '%d' en el SQL, por lo tanto asumo que está considerando la fecha NOW(), es decir, la fecha actual y hora actual, pero el evento es grabado para la fecha actual con hora inicial anterior.

Si alguien me pudiera explicar como definir un valor para la fecha que sea el NOW() a las 00:01 se lo agradecería.

De ante mano, muchas gracias!
 
Atrás
Arriba