public function transform( MShop_Catalog_Item_Interface $item, array $path, array $params = array() )
	{
		if( $item->getStatus() <= 0 ) {
			return '';
		}

		$id = $item->getId();
		$enc = $this->_encoder;
		$config = $item->getConfig();

		$class = ( $item->hasChildren() ? ' withchild' : ' nochild' );
		$class .= ( isset( $path[ $item->getId() ] ) ? ' active' : '' );
		$class .= ( isset( $config['css-class'] ) ? ' ' . $config['css-class'] : '' );

		$params['a-name'] = str_replace( ' ', '-', $item->getName() );
		$params['f-catalog-id'] = $id;

		$url = $enc->attr( $this->url( $this->_target, $this->_controller, $this->_action, $params, array(), $this->_config ) );

		$output = '<li class="cat-item catid-' . $enc->attr( $id . $class ) . '" data-id="' . $id . '" ><!--
			--><a class="cat-item" href="' . $url . '"><span class="cat-name">' . $enc->html( $item->getName(), $enc::TRUST ) . '</span></a>';

		$children = $item->getChildren();

		if( !empty( $children ) )
		{
			$output .= '<ul class="level-' . $enc->attr( $item->getNode()->level + 1 ) . '">';

			foreach( $children as $child ) {
				$output .= $this->transform( $child, $path, $params );
			}

			$output .= '</ul>';
		}

		$output .= '</li>';

		return $output;
	}
public function transform( MShop_Catalog_Item_Interface $item, array $path, array $params = array() )
	{
		if( $item->getStatus() <= 0 ) {
			return '';
		}

		$id = $item->getId();
		$enc = $this->_encoder;
		$config = $item->getConfig();

		$class = ( $item->hasChildren() ? ' withchild' : ' nochild' );
		$class .= ( isset( $path[ $item->getId() ] ) ? ' active' : '' );
		$class .= ( isset( $config['css-class'] ) ? ' ' . $config['css-class'] : '' );

		$params['a-name'] = str_replace( ' ', '-', $item->getName() );
		$params['f-catalog-id'] = $id;

		$url = $enc->attr( $this->url( $this->_target, $this->_controller, $this->_action, $params, array(), $this->_config ) );

		$output = '<li class="cat-item catid-' . $enc->attr( $id . $class ) . '" data-id="' . $id . '" ><!--
			--><a class="cat-item" href="' . $url . '"><span class="cat-name">' . $enc->html( $item->getName(), $enc::TRUST ) . '</span></a>';

		$children = $item->getChildren();

		if( !empty( $children ) )
		{
			$output .= '<ul class="level-' . $enc->attr( $item->getNode()->level + 1 ) . '">';

			foreach( $children as $child ) {
				$output .= $this->transform( $child, $path, $params );
			}

			$output .= '</ul>';
		}

		$output .= '</li>';

		return $output;
	}
public function transform ( MShop_Catalog_Item_Interface $ item , array $ path , array $ params = array ( ) ) { if ( $ item -> getStatus ( ) <= 0 ) { return '' ; } $ id = $ item -> getId ( ) ; $ enc = $ this -> _encoder ; $ config = $ item -> getConfig ( ) ; $ class = ( $ item -> hasChildren ( ) ? ' withchild' : ' nochild' ) ; $ class .= ( isset ( $ path [ $ item -> getId ( ) ] ) ? ' active' : '' ) ; $ class .= ( isset ( $ config [ 'css-class' ] ) ? ' ' . $ config [ 'css-class' ] : '' ) ; $ params [ 'a-name' ] = str_replace ( ' ' , '-' , $ item -> getName ( ) ) ; $ params [ 'f-catalog-id' ] = $ id ; $ url = $ enc -> attr ( $ this -> url ( $ this -> _target , $ this -> _controller , $ this -> _action , $ params , array ( ) , $ this -> _config ) ) ; $ output = '<li class="cat-item catid-' . $ enc -> attr ( $ id . $ class ) . '" data-id="' . $ id . '" ><!--
			--><a class="cat-item" href="' . $ url . '"><span class="cat-name">' . $ enc -> html ( $ item -> getName ( ) , $ enc :: TRUST ) . '</span></a>' ; $ children = $ item -> getChildren ( ) ; if ( ! empty ( $ children ) ) { $ output .= '<ul class="level-' . $ enc -> attr ( $ item -> getNode ( ) -> level + 1 ) . '">' ; foreach ( $ children as $ child ) { $ output .= $ this -> transform ( $ child , $ path , $ params ) ; } $ output .= '</ul>' ; } $ output .= '</li>' ; return $ output ; }
Returns the HTML for the navigation tree.

@param MShop_Catalog_Item_Interface $item Catalog item with child nodes
@param array Associative list of catalog IDs as keys and catalog nodes as values
@param array Associative list of parameters used for filtering
@return string Rendered HTML of the navigation tree
Returns the HTML for the navigation tree .