public function itemsFilterHash($params) {
		$itemshash = parent::itemsFilterHash($params);

		//Select items only with some group
		if (isset($params['group'])) {
			$itemshash .= ':group=' . $params['group'];
		}
		//Select categories only with some level
		if (isset($params['level'])) {
			$itemshash .= ':level=' . $params['level'];
		}
		//Select categories only with parentid=$params['parent'].
		if (isset($params['parent'])) {
			$itemshash .= ':parent=' . $params['parent'];
		}
		//Select categories only with parentid=$params['parent'].
		if (isset($params['parentisnull'])) {
			$itemshash .= ':parentisnull=' . empty($params['parentisnull'])?'N':'Y';
		}
		//Entire parents tree. 
		if (isset($params['parenttree'])) {
			$itemid = (int)$params['parenttree'];
			$item = $this->itemGet($itemid);
			if (empty($item)) {
				return false;
			}
			$itemshash .= ':parenttree-' . $item->lft . '-' . $item->rgt;
		}
		//Entire parents tree, second version. 
		if ((isset($params['parenttree_lft'])) && (isset($params['parenttree_rgt']))) {
			$lft = $params['parenttree_lft'];
			$rgt = $params['parenttree_rgt'];
			if (($lft < 1) || ($rgt < 1) || ($lft >= $rgt)) {
				return false;
			}
			$itemshash .= ':parenttree-' . $lft . '-' . $rgt;
		}
		//Entire parents chain. 
		if (isset($params['parentchain'])) {
			$itemid = (int)$params['parentchain'];
			$item = $this->itemGet($itemid);
			if (empty($item)) {
				return false;
			}
			$itemshash .= ':parentchain-' . $item->lft . '-' . $item->rgt;
		}
		//Entire parents chain, second version. 
		if ((isset($params['parentchain_lft'])) && (isset($params['parentchain_rgt']))) {
			$lft = $params['parentchain_lft'];
			$rgt = $params['parentchain_rgt'];
			if (($lft < 1) || ($rgt < 1) || ($lft >= $rgt)) {
				return false;
			}
			$itemshash .= ':parentchain-' . $lft . '-' . $rgt;
		}
		return $itemshash;
	}