$modules

Loads and manages all modules in ProcessWire.

The $modules API variable is most commonly used for getting individual modules to use their API.

// Getting a module by name
$m = $modules->get('MarkupPagerNav');

// Getting a module by name (alternate)
$m = $modules->MarkupPagerNav;

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Modules class also inherits all the methods and properties of: WireArray and Wire.

Show $var?     Show args?       Only hookable?    

Common

NameReturnSummary 
findByInfo($selector)
arrayFind modules by matching a property or properties in their module info 
findByPrefix(string $prefix)
arrayFind modules matching the given prefix (i.e. “Inputfield”) 
get($key)
Module _Module nullGet the requested Module 
getDebugData()
None 
getModule($key)
Module _Module null stringGet the requested Module (with options) 
getModuleConfigInputfields($moduleName)
InputfieldWrapper nullGet the Inputfields that configure the given module or return null if not configurable
getModuleFile($class)
bool stringGet the path + filename (or optionally URL) for this module 
getModuleID($class)
intReturns the database ID of a given module class, or 0 if not found 
getModuleInfo($class)
arrayReturns an associative array of information for a Module 
getModuleInfoProperty($class, string $property)
mixed nullGet just a single property of module info 
getModuleInfoVerbose($class)
arrayReturns a verbose array of information for a Module 
getModuleLanguageFiles($module)
arrayGet module language translation files 
isInstalled(string $class)
boolIs the given module name installed? 
isUninstallable($class)
bool stringReturns whether the module can be uninstalled
memcache(string $name)
bool array mixed nullSet a runtime memory cache 
moduleVersionChanged($module, $fromVersion, $toVersion)
NoneHook called when a module's version changes
saveModuleConfigData($className, array $configData)
boolAlias of saveConfig() for backwards compatibility

Configuration

NameReturnSummary 
getConfig($class)
array string int floatGiven a module name, return an associative array of configuration data for it 
getModuleEditUrl($className)
stringReturn the URL where the module can be edited, configured or uninstalled 
getModuleInstallUrl(string $className)
stringGet URL where an administrator can install given module name 
isConfigurable($class)
bool string intIs the given module interactively configurable? 
saveConfig($class, $data)
boolSave provided configuration data for the given module

Properties

NameReturnSummaryDefault
configs ModulesConfigs 
coreModulesDir string 
coreModulesPath string 
files ModulesFiles 
flags ModulesFlags 
info ModulesInfo 
installableFiles array 
installer ModulesInstaller 
loader ModulesLoader 
moduleIDs array 
moduleNames array 
refreshing bool 
siteModulesPath string 

Additional methods and properties

In addition to the methods and properties above, Modules also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.251