Автор Тема: Вопрос по дополнительным полям  (Прочитано 10577 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Smile500

  • Гость
Вопрос по дополнительным полям
« : 26 декабря 2011, 14:58:59 »
Дополнительные поля - это те поля, которые формируют модули.
А вот вопрос: а как их прочитать? как с ними работать-то вообще? Подскажите пож.

П.С. Ближе всех к ответу, как я думаю, является функция ядра pub_user_field_get. Но, в документации есть неточность: на самом деле она возвращает не массив, а строку. Но вот что-то у меня не получается никак справится с этим вопросом.

Оффлайн arteshuk

  • Разработчики
  • Ветеран
  • *****
  • Сообщений: 1 214
  • Авторитет: 130
  • Пол: Мужской
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #1 : 26 декабря 2011, 16:24:26 »
используй pub_users_info_get

ЗЫ в мануале pub_user_field_get   * @return string

Smile500

  • Гость
Re: Вопрос по дополнительным полям
« Ответ #2 : 26 декабря 2011, 16:48:00 »
$curr_user = $kernel->pub_users_info_get($id);
где $id - ид пользователя.
Возвращаемое значение - массив.

Хорошо, раз массив, значит так: $curr_user['tel']
а в ответ: Undefined index: tel

не очень понятна структура возвращаемого массива.

Оффлайн arteshuk

  • Разработчики
  • Ветеран
  • *****
  • Сообщений: 1 214
  • Авторитет: 130
  • Пол: Мужской
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #3 : 26 декабря 2011, 17:13:56 »
По моему все предельно ясно....НЕТ у юзъверов поля tel.....

Smile500

  • Гость
Re: Вопрос по дополнительным полям
« Ответ #4 : 26 декабря 2011, 19:04:43 »
Основного нет. А дополнительное есть! 
В таблице sf_user_fields описываем его. А в таблице sf_user_fields_value ставим значение.

Оффлайн arteshuk

  • Разработчики
  • Ветеран
  • *****
  • Сообщений: 1 214
  • Авторитет: 130
  • Пол: Мужской
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #5 : 26 декабря 2011, 19:06:59 »
Основного нет. А дополнительное есть! 
В таблице sf_user_fields описываем его. А в таблице sf_user_fields_value ставим значение.

Ок, есть так есть, расскажи как ты массив $curr_user обходишь?

Smile500

  • Гость
Re: Вопрос по дополнительным полям
« Ответ #6 : 26 декабря 2011, 19:30:39 »
в классе admin\manager_users.class.php есть функция users_info_get, которая по всей видимости и должна возвращать массив доп.полей.  В принципе, запрос там правильный. Но чета не понятно как массив с данными заполняется. Смотри строчки от 866 до 888. Там массив что-то страшный :) Типа
$res[$row['user']]['fields'][$row['id_modul'].$this->symbol_delimiter.$row['id_field']]['value'] = $row['value'];где $this->symbol_delimiter равен "-".
Подставляем значения получаем строчку вроде:
$res[1]['fields']['auth-tel']]['value']то есть к выходному массиву можно так и обратиться. Но блин он говорит что нет поля auth-tel!
« Последнее редактирование: 26 декабря 2011, 19:32:35 от Smile500 »

Оффлайн arteshuk

  • Разработчики
  • Ветеран
  • *****
  • Сообщений: 1 214
  • Авторитет: 130
  • Пол: Мужской
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #7 : 26 декабря 2011, 19:53:55 »
а разве есть поле auth-tel????

где ты его взял-то? В БД есть такой столбец????

Smile500

  • Гость
Re: Вопрос по дополнительным полям
« Ответ #8 : 26 декабря 2011, 19:59:30 »
в бд нет такого поля!
но если подставить
$row['user'] = 1
$row['id_modul'] = 'auth'
$this->symbol_delimiter = '-' //выше в том же модуле
$row['id_field'] = 'tel'
то и получим то что я написал. может косяк тут какой?

в принципе я мог бы напрямую дернуть что мне нужно из бд, но хотелось бы средствами, предоставляемыми самим ядром

Оффлайн arteshuk

  • Разработчики
  • Ветеран
  • *****
  • Сообщений: 1 214
  • Авторитет: 130
  • Пол: Мужской
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #9 : 26 декабря 2011, 21:55:49 »
в бд нет такого поля!
что и тебовалось доказать....

но если подставить
$row['user'] = 1
$row['id_modul'] = 'auth'
$this->symbol_delimiter = '-' //выше в том же модуле
$row['id_field'] = 'tel'
то и получим то что я написал. может косяк тут какой?

если бы у бабушки были яйца....сам понимаешь....не надо думать, что несколько человек, которые писали ядро, глупее тебя одного.....
« Последнее редактирование: 26 декабря 2011, 23:20:06 от arteshuk »

Smile500

  • Гость
Re: Вопрос по дополнительным полям
« Ответ #10 : 27 декабря 2011, 07:54:32 »
Уффф!!! :) Я все-таки сделал это!!!  :D ура!

глупее тебя одного.....
напротив, я очень уважительно отношусь к чужому труду.
« Последнее редактирование: 27 декабря 2011, 14:12:14 от Smile500 »

Оффлайн barboskin

  • Местный лис
  • ***
  • Сообщений: 113
  • Авторитет: 42
    • Просмотр профиля
Re: Вопрос по дополнительным полям
« Ответ #11 : 14 ноября 2017, 06:03:57 »
Спасибо