Всем хорош компонент EventlList, но только ошибок в нем до кучи ( Недавно обнаружилась очередная и весьма критичная:
как оказалось, он формирует пути на основе имеющегося меню, а для элементов, не включенных в меню, формирует пути прямо таки произвольным образом.
особенно ужасно это выглядит при включенном SEF - элементы попадают в откровенно другие категории, оставаясь на самом деле в правильных.
например, есть две категории событий: Концерты и Фестивали. Если для концертов есть соотв. меню Концерты, то ссылка будет содержать ее alias - "concerts", т.е. будет concerts/concert1 , concerts/concert2, все ок.
но меню Фестивали нет, и соов. все фестивали будут отображаться по адресу concerts/festival1 , concerts/fetival2 и т.д. что согласитесь ужасно ((
весь корень проблем судя по всему в Eventlistовском route.php (ключевая фраза //no menuitem exists -> return
first possible match)
function _findItem($needles)
{
$component =& JComponentHelper::getComponent('com_eventlist');
$menus = & JSite::getMenu();
$items = $menus->getItems('componentid', $component->id);
$user = & JFactory::getUser();
$access = (int)$user->get('aid');
//Not needed currently but kept because of a possible hierarchic link structure in future
foreach($needles as $needle => $id)
{
foreach($items as $item)
{
if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id) && ($item->published == 1) && ($item->access <= $access)) {
return $item;
}
}
//no menuitem exists -> return first possible match
foreach($items as $item)
{
if ($item->published == 1 && $item->access <= $access) {
return $item;
}
}
}
return false;
}