PHP Class Neos\Neos\Fusion\AbstractMenuImplementation

Main Options: - renderHiddenInIndex: if TRUE, hidden-in-index nodes will be shown in the menu. FALSE by default.
Inheritance: extends Neos\Fusion\FusionObjects\TemplateImplementation
Show file Open project: neos/neos

Protected Properties

Property Type Description
$currentLevel integer Internal cache for the currentLevel tsValue.
$currentNode Neos\ContentRepository\Domain\Model\NodeInterface
$currentNodeRootline array Rootline of all nodes from the current node to the site root node, keys are depth of nodes.
$items array An internal cache for the built menu items array.
$renderHiddenInIndex boolean Internal cache for the renderHiddenInIndex property.

Public Methods

Method Description
getItems ( ) : array Main API method which sends the to-be-rendered data to Fluid
getRenderHiddenInIndex ( ) : boolean Should nodes that have "hiddenInIndex" set still be visible in this menu.

Protected Methods

Method Description
buildItems ( ) : array Builds the array of menu items containing those items which match the configuration set for this Menu object.
calculateItemState ( Neos\ContentRepository\Domain\Model\NodeInterface $node = null ) : string Helper Method: Calculates the state of the given menu item (node) depending on the currentNode.
getCurrentNodeRootline ( ) : array Get the rootline from the current node up to the site node.
getNodeLevelInSite ( Neos\ContentRepository\Domain\Model\NodeInterface $node ) : integer Node Level relative to site root node.
isNodeHidden ( Neos\ContentRepository\Domain\Model\NodeInterface $node ) : boolean Return TRUE/FALSE if the node is currently hidden or not in the menu; taking the "renderHiddenInIndex" configuration of the Menu TypoScript object into account.

Method Details

buildItems() abstract protected method

Must be overridden in subclasses.
abstract protected buildItems ( ) : array
return array An array of menu items and further information

calculateItemState() protected method

This method needs to be called inside buildItems() in the subclasses.
protected calculateItemState ( Neos\ContentRepository\Domain\Model\NodeInterface $node = null ) : string
$node Neos\ContentRepository\Domain\Model\NodeInterface
return string

getCurrentNodeRootline() protected method

Get the rootline from the current node up to the site node.
protected getCurrentNodeRootline ( ) : array
return array

getItems() public method

Main API method which sends the to-be-rendered data to Fluid
public getItems ( ) : array
return array

getNodeLevelInSite() protected method

0 = Site root node
protected getNodeLevelInSite ( Neos\ContentRepository\Domain\Model\NodeInterface $node ) : integer
$node Neos\ContentRepository\Domain\Model\NodeInterface
return integer

getRenderHiddenInIndex() public method

Should nodes that have "hiddenInIndex" set still be visible in this menu.
public getRenderHiddenInIndex ( ) : boolean
return boolean

isNodeHidden() protected method

This method needs to be called inside buildItems() in the subclasses.
protected isNodeHidden ( Neos\ContentRepository\Domain\Model\NodeInterface $node ) : boolean
$node Neos\ContentRepository\Domain\Model\NodeInterface
return boolean

Property Details

$currentLevel protected property

Internal cache for the currentLevel tsValue.
protected int $currentLevel
return integer

$currentNode protected property

protected NodeInterface,Neos\ContentRepository\Domain\Model $currentNode
return Neos\ContentRepository\Domain\Model\NodeInterface

$currentNodeRootline protected property

Rootline of all nodes from the current node to the site root node, keys are depth of nodes.
protected array $currentNodeRootline
return array

$items protected property

An internal cache for the built menu items array.
protected array $items
return array

$renderHiddenInIndex protected property

Internal cache for the renderHiddenInIndex property.
protected bool $renderHiddenInIndex
return boolean