登录 注册

登录

问题 k2 的类别的ID顺序如何更改

更多
2015年09月01日 20:17 #1 作者: newspaper
有一个K2 TOOLS 模块,显示K2的类别是按分类的ID排序的。如何更改分类的ID呀排序呀。

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月01日 20:23 #2 作者: Joomla之门
“按 ID 排序”只不过是 K2 Tools 模块的几种排序方法之一。你还可以选择其它的方式,例如按名称排序,或者按后台“类别管理”里面的原始次序(这个直接可以鼠标拖曳更改次序)来排序 —— 我认为这几种方法总有一种可以满足你。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月01日 22:02 #3 作者: newspaper

白建鹏 写道: “按 ID 排序”只不过是 K2 Tools 模块的几种排序方法之一。你还可以选择其它的方式,例如按名称排序,或者按后台“类别管理”里面的原始次序(这个直接可以鼠标拖曳更改次序)来排序 —— 我认为这几种方法总有一种可以满足你。

进入K2后台的类别管理试了一下,鼠标拖鞋拽不能用为什么呀?

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月01日 22:11 #4 作者: newspaper
k2 tools 后台参数中的确有“ 排序依据” ,其中最后一个是“排序”,但我想按自定义想顺序,默认的是按iD升序,ID的大小是由小到大是建类时产生的,想调整怎么操作呀。拖拽不管用。一拖就打开到类别编辑了。
附件:

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 06:24 #5 作者: Joomla之门
不是“拖曳不管用”,而是你拖曳的方法不对:很显然你直接去拖动了类别的名称。

正确做法:在类别列表上每一个类别前面(最前面)都有纵向3个小圆点,看到了吗?鼠标指向这个圆点之后,指针就变成了四向箭头十字叉,表示可以拖动了。

注意一点:拖曳只能改变同级别的类别次序,你不可能让子类别的次序位于其父类别之前。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 07:14 #6 作者: newspaper
非常感谢,拖拽可行了,还有一个问题,就是 k2 tools里有一个排序选项,最后一个叫排序,但它下面没有框框让自己比如 按输入ID的前后排序,
但这个模块的最下面有一个参数,如附近图,是不是在哪里可以输入呀?
附件:

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 07:21 #7 作者: newspaper
k2 tools 模块在 joomlart 模版里,最上面有一个参数是自定义代码,显示类别只有一行,只有点击下面的arrow-down按钮后才全显示出来,如何默认让arrow-down是展开的,在点击的时候是arrow-up
附件:

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 07:25 #8 作者: newspaper
<?php
/**
 * @version		2.6.x
 * @package		K2
 * @author		JoomlaWorks http://www.joomlaworks.net
 * @copyright	Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
 * @license		GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */
 
// no direct access
defined('_JEXEC') or die;
 
function ja_k2_treerecurse(&$params, $id = 0, $level = 0, $begin = false)
{
 
	static $output;
	if ($begin) {
		$output = '';
	}
	$mainframe = JFactory::getApplication();
	$root_id = (int)$params->get('root_id');
	$end_level = $params->get('end_level', NULL);
	$id = (int)$id;
	$catid = JRequest::getInt('id');
	$option = JRequest::getCmd('option');
	$view = JRequest::getCmd('view');
 
	$user = JFactory::getUser();
	$aid = (int)$user->get('aid');
	$db = JFactory::getDBO();
 
	$jak2Filter = JComponentHelper::getComponent('com_jak2filter');
 
	switch ($params->get('categoriesListOrdering'))
	{
 
		case 'alpha' :
			$orderby = 'name';
			break;
 
		case 'ralpha' :
			$orderby = 'name DESC';
			break;
 
		case 'order' :
			$orderby = 'ordering';
			break;
 
		case 'reversedefault' :
			$orderby = 'id DESC';
			break;
 
		default :
			$orderby = 'id ASC';
			break;
	}
 
	if (($root_id != 0) && ($level == 0))
	{
		$query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 ";
 
	}
	else
	{
		$query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 ";
	}
 
	if (K2_JVERSION != '15')
	{
		$query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
		if ($mainframe->getLanguageFilter())
		{
			$languageTag = JFactory::getLanguage()->getTag();
			$query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
		}
 
	}
	else
	{
		$query .= " AND access <= {$aid}";
	}
 
	$query .= " ORDER BY {$orderby}";
 
	$db->setQuery($query);
	$rows = $db->loadObjectList();
	if ($db->getErrorNum())
	{
		echo $db->stderr();
		return false;
	}
 
	if ($level < intval($end_level) || is_null($end_level))
	{
		$output .= '<ul class="level'.$level.'">';
		$i = 0;
		foreach ($rows as $row)
		{
			if ($params->get('categoriesListItemsCounter'))
			{
				$row->numOfItems = ' ('.modK2ToolsHelper::countCategoryItems($row->id).')';
			}
			else
			{
				$row->numOfItems = '';
			}
 
			if (($option == 'com_k2') && ($view == 'itemlist') && ($catid == $row->id))
			{
				$liClass = 'activeCategory';
				if ($i >= 4) {
					$liClass .= 'collapse';
				}
			}
			else
			{
				$liClass = '';
 
				if ($i >= 4) {
					$liClass .= 'collapse';
				}
			}
 
			$catParams = new JRegistry($row->params);
			$color = $catParams->get('category_color', '#1d9bdc');
			$icon = $catParams->get('category_icon', 'images/joomlart/directory-icons/default.png');
 
 
			$link = JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)));
			if (modK2ToolsHelper::hasChildren($row->id))
			{
				$output .= '<li class="'.$liClass.'" ><a style="color: '.$color.'; border-color: '.$color.'" href="'.urldecode($link).'"><img src="'.$icon.'"  alt="'.$row->name.'" /><span class="catTitle">'.$row->name.'</span><span class="catCounter">'.$row->numOfItems.'</span></a>';
				ja_k2_treerecurse($params, $row->id, $level + 1);
				$output .= '</li>';
				$i++;
			}
			else
			{
				$output .= '<li class="'.$liClass.'" ><a href="'.urldecode($link).'"><i class="fa fa-check-circle" style="color: '.$color.';"></i><span class="catTitle">'.$row->name.'</span><span class="catCounter" style="color: '.$color.';">'.$row->numOfItems.'</span></a></li>';
			}
		}
		$output .= '</ul>';
	}
 
	return $output;
}
 
$output = ja_k2_treerecurse($params, 0, 0, true);
?>
 
<div class="k2CategoriesListBlock">
	<?php echo $output; ?>
	<div id="arrow-down" class="arrow-down"></div>
</div>
 
<script type="text/javascript">
 	(function($){
		$(document).ready(function(){ 
		  $( "#arrow-down" ).click(function() {
		  	if ($('.k2CategoriesListBlock .collapse.in').length) {
		  		$('.k2CategoriesListBlock .collapse.in').removeClass('in');
		  	} else {
		  		$('.k2CategoriesListBlock .collapse').addClass('in');
		  	}
 
		  	if($( "#arrow-down.arrow-down" ).length) {
		  		$( "#arrow-down").removeClass('arrow-down');
		  		$( "#arrow-down").addClass('arrow-up');
		  	} else {
		  		$( "#arrow-down").addClass('arrow-down');
		  		$( "#arrow-down").removeClass('arrow-up');
		  	}
			});
	  });
  })(jQuery);
</script>

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 15:07 #9 作者: Joomla之门
排序选项里面最后一个词“排序”本身是一个翻译失误,英文版原词是 ordering,正确理解应该是“原始次序”,也就是类别在“类别列表”上面的次序。你选择了这一项,然后前面拖曳的结果才能体现在前台,否则光是拖曳排序而不选择这一项,就没有意义。这里也不需要什么 ID 或者 升序、降序,本身你拖曳的结果只有一种,就是从列表的顶部到底部。如果你想反着来,那就把底下的拖到顶部就可以了。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2015年09月02日 15:08 #10 作者: Joomla之门
你说的“k2 tools 模块在 joomlart 模版里”这一段,很难理解。请给出具体的 JA 模板名称及其模块名称(在官方演示里面或许不是 k2 tools 这个名字)。

如果方便,可以通过淘宝旺旺或者 email 提供你网站的管理员账号,我直接访问现场更容易帮你解决。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论