Widget com informação de Eventos no Calendário

  • Autor Autor barcraft
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
B

barcraft

Gamma
Usuário com poucas negociações! Use sempre o saldo do 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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:

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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!
 
Voltar
Topo