You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Не прав был, проблема в другом, у input элементов HLIBlockFieldWidget атрибут namе равен коду пользовательского поля (name="UF_XYZ"),а не FIELDS['UF_XYZ'], как требуется для предыдущего коментария. Для правильной работы надо в HLIBlockFieldWidget::getEditHtml() перед print $USER_FIELD_MANAGER->GetEditFormHTML($bVarsFromForm, $GLOBALS[$this->getCode()], $info);
добавить (для файла надо оставить как есть, а то при редактирование жалуется)
if ( $info['USER_TYPE_ID']!='file') {
$info['FIELD_NAME']='FIELDS['.$info['FIELD_NAME'].']';
}
//для CUserTypeBoolean, а то тоже не созраняются
if ($info['ENTITY_VALUE_ID'] < 1) $info['ENTITY_VALUE_ID'] = 1;
Не сохраняются для множественных полей,
виджеты с MULTIPLE => 'Y' передают значения в $_REQUEST[$code], тогда как AdminEditHelper собирает их только из $_REQUEST[FIELDS]
С множественными как-то странно, кажется, они всегда берут данные из БД, но не с формы: StringWidget.php:99.
Кроме того, есть виджеты, использующие $_REQUEST напрямую вместо $this->data (те, которым нужно несколько ключей в запросе и/или изменить их имена не позволяет используемое API битрикса (HLIBlockFieldWidget, VisualEditorWidget). Порядку это не способствует, конечно.
в AdminEditHelper.php в
нало поправить т.к. например при сохранение с виджетом HL ИБ, веденные значения не хранятся в FIELDS. Или вообще убрать
The text was updated successfully, but these errors were encountered: