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