Приднестровская поддержка XOOPS
Теперь, когда у нас имеется массив данных одиночных событий, можно создать новый общедоступный метод, который будет форматировать данные, преобразуя их в HTML-разметку.
Мы назовем этот метод displayEvent(). Он принимает уникальный идентификатор события в качестве параметра и генерирует HTML-разметку, выполняя следующие действия:
1) загружает данные событий с помощью метода _loadEventById().
2) использует начальную и конечную даты для генерации строк, описывающих событие;
3) возвращает HTML-разметку для отображения события.
Создайте метод displayEvent(), добавив в класс Calendar код, выделенный в листинге желтым фоном.
<?php
class Calendar extends DB_Connect
{
private $_useDate;
private $_m;
private $_y;
private $_daysInMonth;
private $_startDay;
public function __construct($dbo=NULL, $useDate=NULL) {...}
public function buildCalendar() {...}
/**
* Отображает информацию о заданном событии
*
* @param int $id: идентификатор (ID) события
* @return string: элементарная разметка для отображения информации о событии
*/
public function displayEvent($id)
{
/*
* Убедиться в фом, что ID был передан
*/
if ( empty($id) ) { return NULL; }
/*
* Проверить, что ID является целым числом
*/
$id = preg_replace('/[^0-9]/', '', $id);
/*
* Загрузить данные о событии иэ БД
*/
$event = $this->_loadEventById($id);
/*
* Сгенерировать строки для даты, начального и конечного времени
*/
$ts = strtotime($event->start);
$date = date('F d, Y', $ts);
$start = date('g:ia', $ts);
$end = date('g:ia', strtotime($event->end));
/*
* Сгенерировать и возвратить разметку
*/
return "<h2>$event->title</h2>"
. "\n\t<p class="dates">$date, $start—$end</p>"
. "\n\t<p>$event->description</p>";
}
private function _loadEventData($id=NULL) {...}
private function _createEventObj() {...}
private function _loadEventById($id) {...}
}
?>
Отправитель | Нити |
---|
4 пользователь(ей) активно (3 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 4 далее... |