Index: trunk/core/kernel/event_handler.php =================================================================== diff -u -N -r5219 -r5505 --- trunk/core/kernel/event_handler.php (.../event_handler.php) (revision 5219) +++ trunk/core/kernel/event_handler.php (.../event_handler.php) (revision 5505) @@ -221,7 +221,7 @@ } // get item's filename - $filename = $this->Application->getFilename($event->Prefix, $processed_params[$prefix_special.'_id'] ); + $filename = $this->Application->getFilename($event->Prefix, $processed_params[$prefix_special.'_id'], $category_id ); if($filename !== false) $ret .= $filename.'/'; } @@ -283,10 +283,14 @@ $db =& $this->Application->GetADODBConnection(); $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); $table = $this->Application->getUnitOption($event->Prefix, 'TableName'); + + + $sql = 'SELECT item_table.'.$id_field.' FROM '.$table.' item_table LEFT JOIN '.TABLE_PREFIX.'CategoryItems cat_items ON item_table.ResourceId = cat_items.ItemResourceId WHERE (item_table.Filename = '.$db->qstr($url_part).') AND (cat_items.CategoryId = '.$this->Application->GetVar('m_cat_id').')'; + $item_id = $db->GetOne($sql); if($item_id !== false) {