Calendario PHP

Author: danielgara - Date: 2013-01-09 20:28:15
 
Imagen del módulo
calendar47084.jpg

El modulo se basa en este paquete de phpclasses.org, pero se le realizaron algunas pequeñas modificaciones para que se acoplara al estilo y la separación por capas de G.

Este calendario puede ser muy útil para manejar y mostrar eventos que se encuentren alojados en la base de datos.

Instalación
  1. Se descarga el paquete calendar del enlace: https://www.dropbox.com/s/0u8u9lijckpp9au/m_calendar.rar
  2. Se crea la carpeta m_calendar dentro de la ruta work/modules/
  3. Una vez descargado el paquete, este se descomprime y se mueven los archivos del siguiente modo:
    • css/m_calendar.css a la ruta work/css/m_calendar.css
    • modules/m_calendar/calendar.php a la ruta work/modules/m_calendar/calendar.php
  4. Se crea el controlador calendar.php en la ruta work/calendar.php con el siguiente contenido:
    <?php

    require('./configs/include.php');
    require(
    C_FULL_PATH.'modules/m_calendar/calendar.php');

    class 
    c_calendar extends super_controller {
        
        public function 
    display()
        {
            
            
    $calendar = new m_calendar();
            
            
    $this->engine->assign('title',$calendar->get_title());
            
    $this->engine->assign('month',$calendar->month);
            
    $this->engine->assign('cal_months',$calendar->cal_months);
            
    $this->engine->assign('cal_years',$calendar->cal_years);

            
    $this->engine->display('header.tpl');
            
    $this->engine->display('calendar.tpl');
            
    $this->engine->display('footer.tpl');
        }
        
        public function 
    run()
        {
            
    $this->display();
        }
    }

    $call = new c_calendar();
    $call->run();

    ?>
  5. Se crea el template calendar.tpl en la ruta work/templates/t_dark/calendar.tpl con el siguiente contenido:
    {literal}<style type="text/css"> @import url({/literal}{$gvar.l_global}{literal}css/m_calendar.css); </style>{/literal}

    <form action="{$gvar.l_global}calendar.php" method="post">
    <table style="border: 1px solid #738293;" cellpadding="1" cellspacing="1">
    <tr>
    <th style="color: #FFFFFF; font-size:10pt;" colspan="7">
    <table style="border: 1px solid #738293;" cellpadding="0" cellspacing="0">
    <tr>
    <td class="quote"><b>&nbsp;<a href="{$gvar.l_global}calendar.php?month={$month->month+1}&amp;year={$month->year}&amp;action=-1" class="gen">&laquo;</a>&nbsp;</b></td>
    <td align="center" width="100%">
    <select style="line-height:20px; margin-bottom:0px;" name="month" onchange="submit()">
    {foreach from=$cal_months item=cal_month}
    <option value="{$cal_month.id}" {if ($month->month+1) == $cal_month.id}selected="selected"{/if}>
    {$cal_month.name}
    </option>
    {/foreach}
    </select>
    <select style="line-height:20px; margin-bottom:0px;" name="year" onchange="submit()">
    {foreach from=$cal_years item=cal_year}
    <option value="{$cal_year}" {if $month->year == $cal_year}selected="selected"{/if}>{$cal_year}</option>
    {/foreach}
    </select>
    </td>
    <td class="quote"><b>&nbsp;<a href="{$gvar.l_global}calendar.php?month={$month->month+1}&amp;year={$month->year}&amp;action=+1" class="gen">&raquo;</a>&nbsp;</b></td>
    </tr>
    </table>
    </th>
    </tr>
    <tr class="day_name">
    <th>Sunday</th>
    <th>Monday</th>
    <th>Tuesday</th>
    <th>Wednesday</th>
    <th>Thursday</th>
    <th>Friday</th>
    <th>Saturday</th>
    </tr>
    {foreach from=$month->weeks item=week}
    <tr class="week">
    {foreach from=$week item=day}
    {if $month->days.$day->is_today()}
    <td class="today_date_box">
    {elseif ($month->days.$day->month != $month->get_month())}
    <td class="white_date_box">
    {elseif ($month->days.$day->is_weekend())}
    <td class="weekend_box">
    {else}
    <td class="date_box">
    {/if}
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>&nbsp;</td>
    <td align="right">{$month->days.$day->day}<br /></td>
    </tr>
    </table>
    </td>
    {/foreach}
    </tr>
    {/foreach}
    </table>
    </form>
  6. Finalmente accedemos a la ruta localhost/work/calendar.php y podemos ver el calendario en funcionamiento.

Comments

Alerts There are not comments, be the first
Alerts To post comments, you must be a registered