PHP Class Neos\Neos\Fusion\MenuImplementation

Inheritance: extends AbstractMenuImplementation
Show file Open project: neos/neos

Protected Properties

Property Type Description
$lastLevel integer Internal cache for the lastLevel value.
$maximumLevels integer Internal cache for the maximumLevels tsValue.
$startingPoint Neos\ContentRepository\Domain\Model\NodeInterface Internal cache for the startingPoint tsValue.

Public Methods

Method Description
getEntryLevel ( ) : integer The last navigation level which should be rendered.
getFilter ( ) : string NodeType filter for nodes displayed in menu
getItemCollection ( ) : array
getLastLevel ( ) : integer Return evaluated lastLevel value.
getMaximumLevels ( ) : integer Maximum number of levels which should be rendered in this menu.
getStartingPoint ( ) : Neos\ContentRepository\Domain\Model\NodeInterface

Protected Methods

Method Description
buildItems ( ) : array Builds the array of menu items containing those items which match the configuration set for this Menu object.
buildMenuItemRecursive ( Neos\ContentRepository\Domain\Model\NodeInterface $currentNode ) : array Prepare the menu item with state and sub items if this isn't the last menu level.
buildMenuLevelRecursive ( array $menuLevelCollection ) : array
calculateNodeDepthFromRelativeLevel ( integer $relativeLevel, Neos\ContentRepository\Domain\Model\NodeInterface $referenceNode ) : integer Calculates an absolute depth value for a relative level given.
findMenuStartingPoint ( ) : Neos\ContentRepository\Domain\Model\NodeInterface Find the starting point for this menu. depending on given startingPoint If startingPoint is given, this is taken as starting point for this menu level, as a fallback the TypoScript context variable node is used.
findParentNodeInBreadcrumbPathByLevel ( integer $givenSiteLevel, Neos\ContentRepository\Domain\Model\NodeInterface $startingPoint ) : Neos\ContentRepository\Domain\Model\NodeInterface Finds the node in the current breadcrumb path between current site node and current node whose level matches the specified entry level.
isOnLastLevelOfMenu ( Neos\ContentRepository\Domain\Model\NodeInterface $menuItemNode ) : boolean Checks if the given menuItem is on the last level for this menu, either defined by maximumLevels or lastLevels.

Method Details

buildItems() protected method

Builds the array of menu items containing those items which match the configuration set for this Menu object.
protected buildItems ( ) : array
return array An array of menu items and further information

buildMenuItemRecursive() protected method

Prepare the menu item with state and sub items if this isn't the last menu level.
protected buildMenuItemRecursive ( Neos\ContentRepository\Domain\Model\NodeInterface $currentNode ) : array
$currentNode Neos\ContentRepository\Domain\Model\NodeInterface
return array

buildMenuLevelRecursive() protected method

protected buildMenuLevelRecursive ( array $menuLevelCollection ) : array
$menuLevelCollection array
return array

calculateNodeDepthFromRelativeLevel() protected method

Calculates an absolute depth value for a relative level given.
protected calculateNodeDepthFromRelativeLevel ( integer $relativeLevel, Neos\ContentRepository\Domain\Model\NodeInterface $referenceNode ) : integer
$relativeLevel integer
$referenceNode Neos\ContentRepository\Domain\Model\NodeInterface
return integer

findMenuStartingPoint() protected method

If entryLevel is configured this will be taken into account as well.
protected findMenuStartingPoint ( ) : Neos\ContentRepository\Domain\Model\NodeInterface
return Neos\ContentRepository\Domain\Model\NodeInterface

findParentNodeInBreadcrumbPathByLevel() protected method

Finds the node in the current breadcrumb path between current site node and current node whose level matches the specified entry level.
protected findParentNodeInBreadcrumbPathByLevel ( integer $givenSiteLevel, Neos\ContentRepository\Domain\Model\NodeInterface $startingPoint ) : Neos\ContentRepository\Domain\Model\NodeInterface
$givenSiteLevel integer The site level child nodes of the to be found parent node should have. See $this->entryLevel for possible values.
$startingPoint Neos\ContentRepository\Domain\Model\NodeInterface
return Neos\ContentRepository\Domain\Model\NodeInterface The parent node of the node at the specified level or NULL if none was found

getEntryLevel() public method

1 = first level of the site 2 = second level of the site ... 0 = same level as the current page -1 = one level above the current page -2 = two levels above the current page ...
public getEntryLevel ( ) : integer
return integer

getFilter() public method

NodeType filter for nodes displayed in menu
public getFilter ( ) : string
return string

getItemCollection() public method

public getItemCollection ( ) : array
return array

getLastLevel() public method

Return evaluated lastLevel value.
public getLastLevel ( ) : integer
return integer

getMaximumLevels() public method

Maximum number of levels which should be rendered in this menu.
public getMaximumLevels ( ) : integer
return integer

getStartingPoint() public method

public getStartingPoint ( ) : Neos\ContentRepository\Domain\Model\NodeInterface
return Neos\ContentRepository\Domain\Model\NodeInterface

isOnLastLevelOfMenu() protected method

Checks if the given menuItem is on the last level for this menu, either defined by maximumLevels or lastLevels.
protected isOnLastLevelOfMenu ( Neos\ContentRepository\Domain\Model\NodeInterface $menuItemNode ) : boolean
$menuItemNode Neos\ContentRepository\Domain\Model\NodeInterface
return boolean

Property Details

$lastLevel protected property

Internal cache for the lastLevel value.
protected int $lastLevel
return integer

$maximumLevels protected property

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

$startingPoint protected property

Internal cache for the startingPoint tsValue.
protected NodeInterface,Neos\ContentRepository\Domain\Model $startingPoint
return Neos\ContentRepository\Domain\Model\NodeInterface