Jump to content

Populating AsmSelect using module config file?


theoretic
 Share

Recommended Posts

Hi fellas! And thanks for Processwire!

Couldn't find myself an answer to a question which appears to be not too complex. I'm developing a configurable module which uses a MyModule.config.php file to store its config fields. I'd like to use the AsmSelect fieldtype with some (maybe dynamic) options there. Basically it's dead simple:

$config = [

			[
				'name'					=> 'MyFieldName',
				'type'					=> 'AsmSelect',
				'label'					=> $this->_('My config field'),
			],
...
];

This code displays the AsmSelect, but I have no idea how to add options there. Tried some staff like this:

$config = [

			[
				'name'					=> 'MyFieldName',
				'type'					=> 'AsmSelect',
				'label'					=> $this->_('My config field'),
				'options'				=> [
					'name1'						=> 'value1',
				],
			],
...
];

, but couldn't get any result.

I know that it's possible to define config inputfields right inside the .module file, but I'd like to separate the config from module itself (and the MyModule.config.php is a perfect way to do so). So dear Santa, do You have any idea on how to add some options to my inputfield? Thanks in advance )

Link to comment
Share on other sites

I've found the solution. Hope this will be helpful to someone )

//options for AsmSelect should be (int)key=>value pairs
$options = [ 1=>'A value', 15=>'Another value', 200=>'And even more', ];

//default values should be array of keys, not values
$defaultValues = [ 15, 200, ];

//options can also be an array of (int)keys
$otherOptions = [ 25, 35, 45 ];

...

$config = [

			[
				'name'					=> 'myField',
				'type'					=> 'AsmSelect',
				'label'					=> $this->_('My field'),
				'options'				=> $options,
				'value'					=> $defaultValues,
			],
...
];

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...