Add vocabularies
Материал из Eludia.
Описание
Одновременный вызов sql_select_vocabulary с несколькими наборами параметров.
Дополнительная опция ids позволяет, наряду со списком строк справочника, достать в хэш, указанный как 1-й аргумент, список id из заданной таблицы многие-ко-многим. Основное назначение: извлекать данные для полей типа checkboxes.
Синопсис (Perl 5)
add_vocabularies ($data,
'roles',
rubrics => {tree => 1},
emploees => {
name => 'users',
label => "CONCAT(f, ' ', LEFT(i, 1), '. ', LEFT (o, 1), '.')",
filter => "id_role = 1",
# in => '1, 2, 5',
# in => [1, 2, 5],
in => sql ('users_groups(id_user)' => [ [id_group => $_REQUEST {_id_group}] ]),
# not_in => sql ('users_groups(id_user)' => [ [id_group => $_REQUEST {_id_group}] ]),
order => "dt_birth"
},
workgroups => {ids => { # будет создан компонент $data -> {id_workgroup}, в соответствии с id_to
table => 'workgroups_users',
from => 'id_user', # можно не указывать, если $_REQUEST {type} eq 'users'
to => 'id_workgroup', # можно не указывать, вычисляется автоматически по имени справочника
}}
# workgroups => {ids => 'workgroups_users'} # упрощённая форма
);
| На этой странице упоминается Eludia.php: порт Eludia.pm на PHP. Данный проект был доведён до рабочей бета-версии, однако впоследствии заморожен и в настоящее время не поддерживается. |
Синопсис (PHP)
add_vocabularies ($item, array ( 'roles', users => array ( label => "CONCAT(f, ' ', LEFT(i, 1), '. ', LEFT (o, 1), '.')", filter => "id_role = 1", order => "dt_birth" ) ));

