I know, everybody hates ads. But you dislike to pay for something too. I would like to give everything for free, but it's impossible because costs are too much. If you know how Google ads work, you know how to help. It's on you. I can detect income by country, so... Australia rocks now! Thanks

Help with Multicheck field in admin UI


LaocheXe » 4 months ago
Based off of: https://www.e107sk.com/documentation/admin-ui-stuff/?cat.110#multicheckbox-field


Code Used:
Spoiler:

Basically service record area of the plugin I am working on (for a type of clan/roster system) - got a section to give users qualifications - so the dropdown multicheck list will display the Qualifications, and assign each one to the selected user. However, when editing a user in the service records, it's a regular dro down list,, that only shows number 1.

Inline edit is true, but it displays nothing to edit on the list of current users in the service records.

This is the plugin: https://github.com/LaocheXe/RSystems/tree/master/roster

Right now the qualifications have been set in another db table - but want to get rid of that - tried setting up this same method last year but ran into the issue of hard coded userclasses tree.


LaocheXe
Level 1

Jimako » 4 months ago
It's hard without data.

If you debug dropdown field, you should do this:

1. try it with hardcoded list of options
for example:

$this->fields['qual_id']['writeParms']['optArray'] = array('element_setting_0','element_setting_1', 'element_setting_2');

if everything works, then you can try normal dropdown from database.

2. replace by data from database
$rows = e107::getDB()->retrieve("qualifications_sys", "*", true, true);
      foreach($rows as $qua) {
        $this->qualsys[$qua['qual_id']] = $qua['qual_name'];
      }
			$this->fields['qual_id']['writeParms']['optArray']  = $this->qualsys;

And only if everything works, add multicheck

3. add multicheck

'writeParms' => array('multiple'=> 1 ),

Not tested readmode without data.


JMadmin

Jimako
Main Admin
JMadmin

LaocheXe » 4 months ago
Thanks, that worked. Must have been my array/query


LaocheXe
Level 1

Moderator(s): Jimako