Adds a component option to enable or disable module inheritance (opt-in).
Extends the module assignment UI with inheritance controls for parent menu items.
Supports Inherit for direct children and Inherit all for the full descendant tree.
Materializes inherited module assignments when menu items are saved, copied, or moved.
Preserves inheritance settings when modules are copied or duplicated.
Improves the module assignment tree UI by locking inherited items, showing an “Inherited from ancestor” badge, and clearing inheritance when using the global “Assign to menu items -> None” action.
Adds accessibility labels for the inheritance dropdowns.
Testing Instructions
Go to System -> Manage -> Extensions -> Modules -> Options.
Enable module inheritance.
Create or edit a site module.
Open the Menu Assignment tab.
Select a parent menu item that has child menu items.
Set the parent item inheritance dropdown to Inherit.
Confirm only direct child menu items are selected and locked.
Change the parent item inheritance dropdown to Inherit all.
Confirm all descendant menu items are selected and locked.
Confirm descendant inheritance dropdowns are hidden and replaced with an Inherited from ancestor badge.
Save the module.
Reopen the module and confirm the inheritance setting is retained only on the configured parent item.
Create a new child menu item below the inherited parent.
Confirm the module assignment is applied to the new child menu item after saving.
Move a menu item or subtree below a parent with inheritance enabled.
Confirm inherited module assignments are applied to the moved item or subtree.
In the module assignment tree, click the global None button.
Confirm all menu assignments are unchecked and all inheritance dropdown values are reset to No inheritance.
Actual result BEFORE applying this Pull Request
Module assignments can only be configured manually per module and menu item.
When assigning a module to a parent menu item, child menu items do not automatically receive that module assignment. Site administrators need to manually select each child item, and newly created or moved child menu items do not inherit the parent’s module assignment.
There is no UI to indicate or manage module assignment inheritance in the menu assignment tree.
Expected result AFTER applying this Pull Request
When module inheritance is enabled, site administrators can configure module assignment inheritance directly in the module assignment tree.
A parent menu item can be set to inherit assignments to direct children or to all descendants. Inherited child items are automatically selected and locked in the UI, while descendant inheritance controls covered by Inherit all show an Inherited from ancestor badge instead of a misleading
disabled dropdown.
Saving, copying, and moving menu items applies the relevant inherited module assignments automatically. The assignment UI remains accessible, and the inheritance dropdowns have meaningful accessible names.
Link to documentations
Please select:
Documentation link for guide.joomla.org:
No documentation changes for guide.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
This pull request has conflicts, please resolve those before we can evaluate the pull request.