Блог старого компьютера

Блог старого компьютера


Главная Joomla Компонент EventList и ошибка

Компонент EventList и ошибка

22.02.2012 06:31 Администратор Joomla
Печать PDF
Потребовалось мне сегодня сделать на сайте календарик в котором наводя на число человек мог видеть какое событие будет в этот день. Мне же понадобился данный календарь чтобы показывать людям какие дни аренды коттеджа свободны а какие нет. Походим по интернету нашел множество разных календарей событий. Многие из них были слишком наворочены, многие не выполняли моих требований, а многие просто не работали.

Первым неработающим компонентом который мне попался был EventList. Установил сначала его, потом поставил модуль этого самого календаря. Календарь показывал мне каракули, видать проблемки кодировки при русификации, так же модуль EventList показывал мне ошибку. Компонент я удалил, начал искать другие, но все же в конце вернулся к компоненту EventList, но уже более новей версии. Раз компонент и модуль новее я подумал и ошибок не будет.

И так устанавливал я следующие файлы:

  1. com_eventlist_1.0.1_schlu.zip
  2. mod_eventlistcal15q_0.93.zip
  3. и вроде еще этот русификатор ru_RUcom_eventlist_101_all.zip

К счастью смешав данный коктейль ошибок я не обнаружил, и отправился наполнять компонент событиями. Заполнив два события появилась следующая ошибка, но компонент продолжал функционировать:

Warning: Invalid argument supplied for foreach() in Z:\home\nika\www\components\com_eventlist\helpers\route.php on line 87

Warning: Invalid argument supplied for foreach() in Z:\home\nika\www\components\com_eventlist\helpers\route.php on line 96

Самый простой пусть конечно отключить вывод ошибок и наслаждаться, но данный вариант меня не устраивает.

Смотрим на ошибку и открываем файл на который ругается php.

Файл как видно из ошибки лежит по следующему пути   components\com_eventlist\helpers и называется route.php

 В файле идем в самый низ и комментируем строки c 87 по 101 которые находятся в теле цикла foreach

Было:

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;
}
}

 Стало:

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;
}
} 

 Ошибка испарилась, наслаждаемся и пользуемся!

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела