Set or retrieve a config value to be shared with javascript
Values are set to the Javascript variable ProcessWire.config[key]
.
Note: In ProcessWire 3.0.173+ when setting new values, it is preferable to use $config->jsConfig() instead, unless your intended use is to share an existing $config property with JS.
Specify a $key and $value to set a JS config value.
Specify only a $key and omit the $value in order to retrieve an existing set value. The $key may also be an array of properties, which will return an array of values.
Specify boolean true for $value to share the $key with the JS side. If the $key specified does not exist then $key=true will be added to the JS config (which can later be overwritten with another value, which will still be shared with the JS config). The $key property may also be an array of properties to specify multiple.
Specify no params to retrieve in array of all existing set values.
Examples
// Set a property from PHP
$config->js('mySettings', [
'foo' => 'bar',
'bar' => 123,
]);
// Get a property (from PHP)
$mySettings = $config->js('mySettings');
// Get a property (from Javascript):
var mySettings = ProcessWire.config.mySettings;
console.log(mySettings.foo);
console.log(mySettings.bar);
Usage
// basic usage
$array = $config->js();
// usage with all arguments
$array = $config->js($key = null, mixed $value = null);
Arguments
Name | Type(s) | Description |
---|---|---|
key (optional) | string, array | Property or array of properties |
value (optional) | mixed |
Return value
array
mixed
null
this
$config methods and properties
API reference based on ProcessWire core version 3.0.236