Замена getById на getList
senor-artemisio opened this issue · 3 comments
В AdminEditHelper используется getById при выборке элемента. Нужно заменить это на getList и выбирать только те поля которые используются при редактировании элемента, потому что не всегда нужны все поля из записи, например в случае с модификаторами значения которые тянут что-то из АПИ.
getById не выбирает пользовательские поля к тому же.
getByID давно уже не используется в EditHelper. На всякий случай выпилил последние его останки.
На последней версии пользовательские поля не выбираются разве, @krllgranin ?
@ASGAlex нет, не выбираются, выбираются только если переопределить метод в orm классе:
public static function getList(array $parameters = array())
{
if (!isset($parameters['select'])) {
$parameters['select'] = array_merge(['*'], static::getUserFieldsNames());
}
return parent::getList($parameters);
}
protected static function getUserFieldsNames()
{
$arUFieldNames = [];
$uFields = $GLOBALS['USER_FIELD_MANAGER']->getUserFields(static::getUfId());
foreach ($uFields as $field) {
$arUFieldNames[] = $field['FIELD_NAME'];
}
return $arUFieldNames;
}
"На последней версии пользовательские поля не выбираются разве"
в последней версии битрикс или админ хелпера?