Kotoff, я вкратце обрисую ситуацию.
У заказчика на сайте имеется ИС со списком мероприятий (планируемых, проходящих и прошедших). Там же должен генерироваться календарик на месяц (смена месяца и года в выпадающих списках должны обновлять страничку - с новым календариком, соотв-но). В календарике даты, занятые мероприятием каким-либо, должны быть выделены
жырным. В нынешней версии подразумевается, что каждое мероприятие длится сутки и имеет ровно одну дату - дату элемента в ИС. Генерация календарика происходит следующим образом:
$query = "SELECT information_items_id, information_items_date FROM information_items_table WHERE information_systems_id = 16 AND information_items_date LIKE '" . $year . "-" . $month . "-%'";
$DataBase = & singleton('DataBase');
$result = $DataBase->select($query);
//echo "Первый день месяца: $primary_day_to_month_cal<br>";
//echo "Дней в месяце: $day_to_month_cal";
$data_cal = array();
// формируем массив данных для календаря
while ($row = mysql_fetch_assoc($result))
{
$explode = explode(' ',$row['information_items_date']);
$explode = explode('-', $explode[0]);
$data_cal[$row['information_items_id']] = $explode[2];
}
и затем, в цикле вывода html календаря - вот так:
for ($i = 1; $i <= $day_to_month_cal; $i++)
{
$path_cal = $i; //array_search($i, $data_cal);
if ( if (array_search($i, $data_cal)) ) { $path_cal = '<p>'.$path_cal.'</p>'; }
echo "<td class='cell' id='day_".$i."'><span>$path_cal</span></td>" ;
if (date("w", mktime(0, 0, 0, $month, $i, $year)) == 0) echo "</tr><tr>";
}
В новой версии требуется хранить также дату окончания мероприятия, если оно длится свыше суток, - в дополнительном свойстве. И выводить жырным все даты, попадающие в интервал между датой начала и датой конца мероприятия.
Ну ок, допустим, вывод календаря я реализую. Но как выбрать события в рамках заданного месяца, и отобрать из них инфу?
------------------------------
....впрочем, возможно, это удастся сделать через showInformationSystem и ОЧЕНЬ извращенный шаблон xsl