$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 #554
    In the 554th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a couple of new third party modules, and more. Read on!
    Weekly.pw / 21 December 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull