Changelog — RCA AddMenuItem (mod_addmenuitem)
docs/manual/ set (doc-index, overview, quick start, install, configuration, FAQ, troubleshooting, support, changelog) synced with public paste sources for ecommerce and Content Uploader import.extensions/public/feeds/, extensions/downloads/free/). Lane moved from updating/ to retail/.extensions/private/feeds/mod_addmenuitem.xml from the installed manifest. That private feed must publish 1.0.13 (same as public) until those sites upgrade; dev copy: dev/public/extensions/feeds/private/mod_addmenuitem.xml.Input::get() used the default cmd filter, which stripped spaces and produced run-on labels.getString(..., 'STRING') for POST text fields (including language *).*(Same class of getString() / CMD-filter title and alias bugs as fixed in 1.0.5 for the com_ajax save path; 1.0.12 hardens the retail popup save flow.)*
show_create_date and show_modify_date hardcoded to 1 (Show) because mergeXmlDefaults() fills in Joomla XML fallback defaults before component global settings are considered. Create Date and Modified Date could appear on articles even when global com_content set them to Hide.doInsertMenuItem(), any display param not explicitly set by the AddMenuItem template is overridden with the value from the active component’s global configuration (ComponentHelper::getParams()). New menu items inherit the site admin’s global display settings.JSON_SET to correct show_create_date and show_modify_date to 0 (documented in May 2026 admin docs.html).Call to member function getHelper() on null) when clicking “+ Add to Menu” on categories other than the first context loaded per request. Root cause: services/provider.php registered ModuleServiceProvider, which created Joomla\CMS\Extension\Module with a null HelperFactory. Joomla 6’s Module implements HelperFactoryInterface, so com_ajax called $moduleInstance->getHelper() on null. Resolved by registering a no-op HelperFactory('') so execution falls through to the legacy JLoader::register path that calls ModAddMenuItemHelper::popupAjax().use Joomla\CMS\Table\Table; in AddMenuItemHelper.php. The menuAliasExists() type hint Table $table resolved to the wrong namespace and threw TypeError on every Save attempt.$input->get() calls in doInsertMenuItem() changed to getString(). Default CMD filter stripped spaces and colons, corrupting menu item title, parent selector (mainmenu::380 → wrong menu type), and language wildcard *. Fixed fields: name, alias, menuitem, language.com_content) only; Pro tier all content types and advanced popup fields. LicenseHelper.php, license key module option, script.php upgrade cleanup for obsolete Regular Labs 6.x files.window.bootstrap.Modal is not a constructor on admin screens without Bootstrap modal JS).Joomla\CMS\Filesystem\Folder and Path replaced with standalone Joomla\Filesystem equivalents for Joomla 6 (CMS wrappers removed in J6).postMessage.Note: Retail 1.0.13+ is free GA with public feed; the 7.0.x Pro gating described here was superseded before retail semver 1.0.x shipped.
docs.html offline reference; LICENSE.txt, README.txt; module icons; manifest <icon> and shippable doc files; display name “RCA Add to Menu — Reimagined”; joomla.asset.json cache bust.RCA\Module\AddMenuItem\Helper to match PSR-4 path; explicit \JLoader::registerNamespace() in entry points (required for com_ajax and J4 ModuleDispatcherFactory behavior).<joomla-toolbar-button>; module ordering adjusted to initialise before mod_toolbar.renderPopupPage(); AJAX insert uses fetch() and postMessage.com_menus language loaded in processInsert() for success message; buildPopupUrl() filters module params; manifest extension version="4.0"; update server block added; missing en-GB strings restored; all component XML templates from Regular Labs 6.8.1 PRO retained.Full original Regular Labs history: [docs3.regularlabs.com/addtomenu](https://docs3.regularlabs.com/addtomenu).