MonsterSearch is a lightweight MODX Manager plugin that supercharges the built-in quick search. It interprets short search operators (prefixes and symbols), handles exact-name queries using quotes, and allows for direct ID filtering.
The idea sparked from a daily frustration: whenever I double-clicked a Chunk or snippet tag like [[$head]], MODX copied the $ symbol too. Pasting $head into the Manager search returned nothing, because the native search couldn't handle the symbol.
MonsterSearch fixes that. Now, you can copy and paste element tags exactly as they appear, and the search instantly finds the right item.
As projects grow and gather hundreds of Chunks, Snippets, Templates, and Resources, finding things becomes a headache. MonsterSearch solves this by delivering precise, flexible, and lightning-fast results directly inside the Manager interface.
$ = Chunks
(e.g., $head displays all Chunks with head in their name)! = Snippets
(e.g., !pdoCall displays all Snippets with pdoCall in their name)* = TVs
(e.g., *mainImage displays all TVs with mainImage in their name)+ = Templates
(e.g., +mainTemplate displays all Templates with mainTemplate in their name)@ = Plugins
(e.g., @migx displays all Plugins with migx in their name)# = Resources
(e.g., #index displays all Resources with index in their alias or title)^ = Users
(e.g., ^admin displays all Users with admin in their username)~ = ID
(e.g., ~11 displays only the item with ID 11)"Footer Snippet"
→ Displays the exact element with that name, bypassing fuzzy logic
(quoted exact-match search)!~21
→ Displays only the Snippet with ID 21
(combines ! for Snippets and ~ for exact ID)$@ header
→ Displays Chunks and Plugins containing header in their name
(multiple include prefixes)+"main layout"
→ Displays Templates named exactly main layout
(Template prefix + quoted exact search)footer -* -@).
monstersearch namespace.
monstersearch.wildcards,
monstersearch.fuzzy_threshold.
$==chunks||!==snippets||*==tvs||+==templates||@==plugins||#==resources||^==users
Verifies the existence of MODX and strictly ensures execution only within the mgr (Manager) context to prevent frontend interference.
OnHandleRequest Event (PHP Absolute Interceptor)monster_id GET parameter. If present, it completely bypasses native MODX search.xPDO/newQuery to search precisely by ID (exact or partial) across multiple tables (Resources, Chunks, Snippets, TVs, Templates, Plugins, Users).pagetitle while Chunks use name).exit;).top_search_results_limit to 10000 to prevent MODX from truncating results before JS processing.Reads the monstersearch.wildcards and monstersearch.fuzzy_threshold System Settings, formats them, and injects them securely as a JSON object into the Manager's DOM.
~ prefix or raw numbers), inclusion prefixes (e.g., $, !), and exclusion prefixes (e.g., -*).Ext.Ajax.request Interception (Pre-flight)Overrides ExtJS core AJAX methods. When a search action is detected, it parses the query, modifies the payload to request 10,000 results, and appends custom flags (monster_id, monster_exact_id) for the PHP interceptor to catch.
Ext.data.Connection Interception (Post-flight)fuzzy_threshold setting.
MonsterSearch is free to use for personal and commercial projects.
You may install it on unlimited domains, including local and staging environments.
Redistribution, resale, or rebranding of this package is not permitted.
Please keep attribution to the original author.
The software is provided “as is”, without any warranties or guarantees of fitness for a particular purpose.
Use at your own risk.
If you find MonsterSearch useful, consider supporting its continued development.
I have many ideas for new MODX tools and apps — your support helps me keep creating and improving tools for everyone.