Index: branches/5.2.x/core/units/categories/categories_tag_processor.php =================================================================== diff -u -N -r15257 -r15274 --- branches/5.2.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 15257) +++ branches/5.2.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 15274) @@ -1,6 +1,6 @@ Application->recallObject('CategoryHelper'); - /* @var $category_helper CategoryHelper */ + $navigation_bar = $this->Application->recallObject('kNavigationBar'); + /* @var $navigation_bar kNavigationBar */ - return $category_helper->NavigationBar($params); + return $navigation_bar->build($params); } /** @@ -203,7 +203,11 @@ if ($category_id) { $params['cat_id'] = $category_id; - return $this->CategoryPath($params); + + $navigation_bar = $this->Application->recallObject('kNavigationBar'); + /* @var $navigation_bar kNavigationBar */ + + return $navigation_bar->build($params); } return ''; @@ -1258,19 +1262,21 @@ switch ($params['type']) { case 'title': - $db_field = 'Title'; + // TODO: rename column to SectionTitle + $db_field = 'Name'; // "Section Title" - title to show on page (e.g. in

tag) break; case 'htmlhead_title': - $db_field = 'Name'; + // TODO: rename column to HtmlTitle + $db_field = 'Title'; // "Title (on Page)" - in html tag break; case 'meta_title': $db_field = 'MetaTitle'; break; case 'menu_title': - $db_field = 'MenuTitle'; + $db_field = 'MenuTitle'; // "Title (Menu Item)" - in menu and navigation bar break; case 'meta_keywords': @@ -2154,4 +2160,43 @@ return !$object->GetDBField('Protected'); } + + /** + * Returns element for "__item__" navigation bar part + * + * @param Array $params + * @return string + * @access protected + */ + protected function CategoryItemElement($params) + { + $category_helper = $this->Application->recallObject('CategoryHelper'); + /* @var $category_helper CategoryHelper */ + + $navigation_bar = $this->Application->recallObject('kNavigationBar'); + /* @var $navigation_bar kNavigationBar */ + + $category_id = isset($params['cat_id']) ? $params['cat_id'] : $this->Application->GetVar('m_cat_id'); + $parent_path = explode('|', substr($navigation_bar->getParentPath($category_id), 1, -1)); + array_shift($parent_path); // remove "Content" category + $module_info = $category_helper->getCategoryModule($params, $parent_path); + + if ( !$module_info ) { + return ''; + } + + $module_prefix = $module_info['Var']; + + $object = $this->Application->recallObject($module_prefix); + /* @var $object kCatDBItem */ + + $title_field = $this->Application->getUnitOption($module_prefix, 'TitleField'); + $block_params = $this->prepareTagParams($params); + $block_params['name'] = $params['render_as']; + + $block_params['title'] = $object->GetField($title_field); + $block_params['prefix'] = $module_prefix; + + return $this->Application->ParseBlock($block_params); + } } \ No newline at end of file