Приднестровская поддержка XOOPS
Теперь, когда у нас имеется возможность хранить каждое событие в виде объекта, можно создать метод, который перебирает все имеющиеся события и сохраняет их в виде массива в соответствии с датами событий. Прежде всего загрузим дату события из базы данных с помощью метода _loadEventData(). Затем извлечем день месяца из начальной даты каждого события и добавим новое событие в элемент массива, индекс которого определяется этим днем. Для этого создадим в классе Calendar новый закрытый метод, который назовем _createEventObj (). Загрузка события из базы данных и создание нового массива осуществляются с помощью кода, выделенного ниже полужирным шрифтом.
<?php
class Calendar extends DB_Connect
{
private $_useDate;
private $_m;
private $_y;
private $_daysInMonth;
private $_startDay;
public function __construct($dbo=NULL, $useDate=NULL) {...}
private function _loadEventData($id=NULL) {...}
/**
* Загружает все события, относящиеся к данному месяцу, в массив
*
* @return array: информация о событиях
*/
private function _createEventObj()
{
/*
* Load the events array
*/
$arr = $this->_loadEventData();
/*
* Создать новый массив, а затем организовать события в
* зависимости от дня месяца, в который они происходят
*/
$events = array();
foreach ( $arr as $event )
{
$day = date('j', strtotime($event['event_start']));
try
{
$events[$day][] = new Event($event);
}
catch ( Exception $e )
{
die ( $e->getMessage() );
}
}
return $events;
}
}
?>
Теперь, когда события Moiyr быть загружены и организованы так, чтобы метод отображал календарь в привычном виде, можно без труда разместить даты в нужных ячейках с помощью HTML.
Отправитель | Нити |
---|
22 пользователь(ей) активно (10 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 22 далее... |