Компонент Yootheme Zoo версии 1.0 является CCK для Joomla 1.5 с очень богатыми и гибкими возможностями.
На нем можно делать гибкие, удобные и быстрые каталоги, но увы, Yootheme, так и не доработав его до конца перешла к разработке ветки 2.0.
Я же пока остаюсь на первой версии и буду выкладывать патчи для устранения недостатков.
Начнем с корректировки поискового плагина.
Поисковый плагин для zoo 1.0 - файл /plugins/search/zoosearch.php ищет нужный материал, но увы неправильно формирует ссылку.
Это происходит, так как не прописывается, к какой категории принадлежит материал.
В решении ниже добавляется лишний запрос к БД, но дается верная ссылка. Сразу скажу, так как компонент поддерживает мультикатегорийность, то, если материал принадлежит сразу к нескольким категориям, выводится ссылка на первую категорию, к которой он принадлежит.
Итак, строка 161
$itemid = $this->getItemId($row->catalog_id); $rows[$key]->href = 'index.php?option=com_zoo&view=item&item_id='.$row->id.($itemid ? '&Itemid='.$itemid : null); }
меняем на
$query = "SELECT category_id FROM #__zoo_core_category_item WHERE item_id=".$row->id." LIMIT 1"; $db->setQuery($query); $cat_id =$db->loadResult(); // print_r($cat_id); $rows[$key]->href = 'index.php?option=com_zoo&view=item&item_id='.$row->id.'&category_id='.$cat_id.($itemid ? '&Itemid='.$itemid : null); }
Для ленивых даю ссылку на файл





Комментарии
Я использую сугубо catalogи без вложенных категорий.. Цитировать
index.php?Itemid=55&option=com_zoo&view=item&category_id=1&item_id=2
ссылка которую выдает поиск (рабочая но неправильная):
index.php?option=com_zoo&view=item&item_id=2&Itemid=55
ссылка которую выдает поиск после правки кода (ведет на страницу с надписью Unable to access category):
index.php?option=com_zoo&view=item&item_id=2&category_id=1
Itemid=55 - кудато потерялось Цитировать
1) Ошибкой или предупреждением о том что функция deprecated?
2) Это не фикс а элемент - я не выпускаю фиксы ибо это зло!
3) если п1 то заменить ereg на preg_match Цитировать
RSS лента комментариев этой записи.