Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optionally delete invisible or disabled nodes recursively #42

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

handcode
Copy link
Member

Currently, visible and disabled flags of a node are not noticed for its children in Tree::getMenuItems().

Therefore it is currently not possible to "hide" a whole part of a tree from the menu by deactivating the visible flag of a parent node. The parent node itself will disappear from the menu, but its children will still be visible.

This behavior can also lead to strange effects, because children can lose their parent in the tree and appear at an unexpected position in the menu tree.

This PR implements the recursive deletion of a whole subtree from the menu using the visible or disable flag of a parent node in the tree.

The behaviour can be controlled by 3 new module properties:

  • $menuRemoveInvisibleRecursive: Whether Tree::getMenuItems() should remove all childs for all invisible nodes from menu tree
  • $menuRemoveDisabledRecursive: Whether Tree::getMenuItems() should remove all childs for all disabled nodes from menu tree
  • $menuRemoveInvisibleRoot: Whether Tree::getMenuItems() should return an empty array for invisible root nodes

All 3 properties are set to false by default for backward compatibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants