Пишу небольшой плагин для VM, возник затык с полем selectList - не сохраняются переданные параметры.
Код стандартный, на основе vmcustom:
function plgVmOnProductEdit($field, $product_id, &$row,&$retValue) {
$helper = new plgVmCustomAttachFilesHelper;
if ($field->custom_element != $this->_name)
return '';
$file_filter = $helper::getFilter($field->custom_params);
$list_files = array_combine($helper::listFiles($file_filter), $helper::listFiles($file_filter));
$html ='
<fieldset>
<legend>' . vmText::_('VMCUSTOM_ATTACHFILES_ADD_FILES_LABEL') . '</legend>'.
'<table class="admintable">'.
VmHtml::row('selectList', 'VMCUSTOM_ATTACHFILES_SELECT_FILES_LABEL', 'filelist', 'customfield_params['.$row.'][filelist]', $list_files, 1, 'multiple="multiple"', '', 'VMCUSTOM_ATTACHFILES_SELECT_FILES_PLACEHOLDER').
'</table>
</fieldset>';
$retValue .= $html;
$row++;
return true ;
}
Из того, что удалось понять из документации к API VM и методом проб, параметры в selectList передаются так:
VmHtml::row(
'selectList', //type
'VMCUSTOM_ATTACHFILES_SELECT_FILES_LABEL', //label
'filelist', //field name
'customfield_params['.$row.'][filelist]',
$list_files, //input array
'1', //size
'multiple="multiple"', //milti
'class="inputbox"', //attrib
'VMCUSTOM_ATTACHFILES_SELECT_FILES_LABEL' //placeholder
)
два вопроса:
1. в чем ошибка того, что форма не сохраняет параметры?
2. как передавать параметр по умолчанию?