DigitalWand/digitalwand.admin_helper

Замена 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;
}

"На последней версии пользовательские поля не выбираются разве"
в последней версии битрикс или админ хелпера?