$config->js() method

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.

  1. Specify a $key and $value to set a JS config value.

  2. 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.

  3. 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.

  4. 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

NameType(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

Latest news

  • ProcessWire Weekly #522
    In the 522nd issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new module called File Mover, and more. Read on!
    Weekly.pw / 11 May 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer