$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.234

Latest news

  • ProcessWire Weekly #510
    In the 510th issue of ProcessWire Weekly we'll check out ProcessWire 3.0.236, introduce a new third party module PageFinder Depth from Robin Sallis, and more. Read on!
    Weekly.pw / 17 February 2024
  • Using date range fields in ProcessWire
    This week we'll take a detailed look at the newest addition to the ProFields set of modules: the Date Range Fieldtype and Inputfield.
    Blog / 24 November 2023
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer