$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 
$modules->findByInfo($selector)
array

Find modules by matching a property or properties in their module info

 
$modules->findByPrefix(string $prefix)
array

Find modules matching the given prefix (i.e. “Inputfield”)

 
$modules->get($key)
Module _Module null

Get the requested Module

 
$modules->getDebugData()
None 
$modules->getModule($key)
Module _Module null string

Get the requested Module (with options)

 
$modules->getModuleFile($class)
bool string

Get the path + filename (or optionally URL) for this module

 
$modules->getModuleID($class)
int

Returns the database ID of a given module class, or 0 if not found

 
$modules->getModuleInfo($class)
array

Returns an associative array of information for a Module

 
$modules->getModuleInfoProperty($class, string $property)
mixed null

Get just a single property of module info

 
$modules->getModuleInfoVerbose($class)
array

Returns a verbose array of information for a Module

 
$modules->getModuleLanguageFiles($module)
array

Get module language translation files

 
$modules->isInstalled(string $class)
bool

Is the given module name installed?

 
$modules->memcache(string $name)
bool array mixed null

Set a runtime memory cache

 

Configuration

NameReturnSummary 
$modules->getConfig($class)
array string int float

Given a module name, return an associative array of configuration data for it

 
$modules->getModuleEditUrl($className)
string

Return the URL where the module can be edited, configured or uninstalled

 
$modules->getModuleInstallUrl(string $className)
string

Get URL where an administrator can install given module name

 
$modules->isConfigurable($class)
bool string int

Is the given module interactively configurable?

 
$modules->saveConfig($class, $data)
bool

Save provided configuration data for the given module

Properties

NameReturnSummary 
$modules->configs ModulesConfigs 
$modules->coreModulesDir string 
$modules->coreModulesPath string 
$modules->files ModulesFiles 
$modules->flags ModulesFlags 
$modules->info ModulesInfo 
$modules->installableFiles array 
$modules->installer ModulesInstaller 
$modules->loader ModulesLoader 
$modules->moduleIDs array 
$modules->moduleNames array 
$modules->refreshing bool 
$modules->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.252