MenuItemsImplementation
class MenuItemsImplementation extends AbstractMenuItemsImplementation (View source)
A Fusion MenuItems object
Constants
STATE_NORMAL |
|
STATE_CURRENT |
|
STATE_ACTIVE |
|
STATE_ABSENT |
|
MAXIMUM_LEVELS_LIMIT |
Hard limit for the maximum number of levels supported by this menu |
Properties
protected Runtime | $runtime | from AbstractFusionObject | |
protected string | $path | The Fusion path currently being rendered |
from AbstractFusionObject |
protected string | $fusionObjectName | Name of this Fusion object, like Neos.Neos:Text |
from AbstractFusionObject |
protected array | $fusionValueCache | from AbstractFusionObject | |
protected array | $items | An internal cache for the built menu items array. |
from AbstractMenuItemsImplementation |
protected NodeInterface | $currentNode | from AbstractMenuItemsImplementation | |
protected int | $currentLevel | Internal cache for the currentLevel tsValue. |
from AbstractMenuItemsImplementation |
protected bool | $renderHiddenInIndex | Internal cache for the renderHiddenInIndex property. |
from AbstractMenuItemsImplementation |
protected NodeInterface[] | $currentNodeRootline | Rootline of all nodes from the current node to the site root node, keys are depth of nodes. |
from AbstractMenuItemsImplementation |
protected NodeInterface | $startingPoint | Internal cache for the startingPoint tsValue. |
|
protected int | $lastLevel | Internal cache for the lastLevel value. |
|
protected int | $maximumLevels | Internal cache for the maximumLevels tsValue. |
Methods
Returns the items as result of the fusion object.
Return the Fusion value relative to this Fusion object (with processors etc applied).
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
Should nodes that have "hiddenInIndex" set still be visible in this menu.
Main API method which sends the to-be-rendered data to Fluid
Builds the array of menu items containing those items which match the configuration set for this Menu object.
Helper Method: Calculates the state of the given menu item (node) depending on the currentNode.
Return true/false if the node is currently hidden or not in the menu; taking the "renderHiddenInIndex" configuration of the Menu Fusion object into account.
Get the rootline from the current node up to the site node.
The last navigation level which should be rendered.
NodeType filter for nodes displayed in menu
Maximum number of levels which should be rendered in this menu.
Return evaluated lastLevel value.
No description
No description
No description
Prepare the menu item with state and sub items if this isn't the last menu level.
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 Fusion context variable node is used.
Checks if the given menuItem is on the last level for this menu, either defined by maximumLevels or lastLevels.
Finds the node in the current breadcrumb path between current site node and current node whose level matches the specified entry level.
Calculates an absolute depth value for a relative level given.
Details
__construct(Runtime $runtime, string $path, string $fusionObjectName)
Constructor
mixed
evaluate()
Returns the items as result of the fusion object.
Runtime
getRuntime()
Get the Fusion runtime this object was created in.
protected mixed
fusionValue(string $path)
Return the Fusion value relative to this Fusion object (with processors etc applied).
Note that subsequent calls of fusionValue() with the same Fusion path will return the same values since the first evaluated value will be cached in memory.
bool
offsetExists(mixed $offset)
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
mixed
offsetGet(mixed $offset)
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
void
offsetSet(mixed $offset, mixed $value)
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
void
offsetUnset(mixed $offset)
Dummy implementation of ArrayAccess to allow this.XXX access in processors.
bool
getRenderHiddenInIndex()
Should nodes that have "hiddenInIndex" set still be visible in this menu.
array
getItems()
Main API method which sends the to-be-rendered data to Fluid
protected array
buildItems()
Builds the array of menu items containing those items which match the configuration set for this Menu object.
protected string
calculateItemState(NodeInterface $node = null)
Helper Method: Calculates the state of the given menu item (node) depending on the currentNode.
This method needs to be called inside buildItems() in the subclasses.
protected bool
isNodeHidden(NodeInterface $node)
Return true/false if the node is currently hidden or not in the menu; taking the "renderHiddenInIndex" configuration of the Menu Fusion object into account.
This method needs to be called inside buildItems() in the subclasses.
protected array
getCurrentNodeRootline()
Get the rootline from the current node up to the site node.
protected int
getNodeLevelInSite(NodeInterface $node)
Node Level relative to site root node.
0 = Site root node
int
getEntryLevel()
The last navigation level which should be rendered.
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 ...
string
getFilter()
NodeType filter for nodes displayed in menu
int
getMaximumLevels()
Maximum number of levels which should be rendered in this menu.
int
getLastLevel()
Return evaluated lastLevel value.
NodeInterface
getStartingPoint()
No description
array
getItemCollection()
No description
protected array
buildMenuLevelRecursive(array $menuLevelCollection)
No description
protected array
buildMenuItemRecursive(NodeInterface $currentNode)
Prepare the menu item with state and sub items if this isn't the last menu level.
protected NodeInterface
findMenuStartingPoint()
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 Fusion context variable node is used.
If entryLevel is configured this will be taken into account as well.
protected bool
isOnLastLevelOfMenu(NodeInterface $menuItemNode)
Checks if the given menuItem is on the last level for this menu, either defined by maximumLevels or lastLevels.
protected NodeInterface
findParentNodeInBreadcrumbPathByLevel(int $givenSiteLevel, NodeInterface $startingPoint)
Finds the node in the current breadcrumb path between current site node and current node whose level matches the specified entry level.
protected int
calculateNodeDepthFromRelativeLevel(int $relativeLevel, NodeInterface $referenceNode)
Calculates an absolute depth value for a relative level given.