Replace:
function getObjectLink($id) {
$link = 'index.php?option=com_zoo&view=item&item_id='. $id;
require_once(JPATH_SITE.DS.'includes'.DS.'application.php');
$component = & JComponentHelper::getComponent('com_zoo');
$menus = & JSite::getMenu();
$items = $menus->getItems('componentid', $component->id);
if (count($items)) {
$link .= "&Itemid=" . $items[0]->id;
}
$link = JRoute::_($link);
return $link;
}
with:
function getObjectLink($id) {
$link = '';
$zooConfig = JPATH_ADMINISTRATOR.'/components/com_zoo/config.php';
if (is_file($zooConfig)) {
require_once($zooConfig);
$zooApp = App::getInstance('zoo');
$item = $zooApp->table->item->get($id);
if (!empty($item)) {
$link = JRoute::_($zooApp->route->item($item));
}
}
return $link;
}
Because this more correct way to build link to Zoo's item.