Тип поля: изображение

#1 21 декабря 2020 в 22:18
Всем привет. Не подскажите, как вывести в профиле тип поля: изображение. Допустим мне нужно, чтобы юзер мог загрузить аватару (по дефолту уже есть) и фото, которое будет у него в профиле. Поле создал аналогично аватарке. Теперь встала задача его вывода — если фото загружено, то выводится оно, если нет, то дефолтная картинка. Версия CMS вторая.

Пробовал так:
  1. <?php if (!empty($fields['foto']) && $fields['foto']['is_in_item']){ ?>
  2. <?php echo $profile['foto']; ?>
  3. <?php } ?>
  4.  
И так:

  1. <?php if (!empty($fields['foto']) && $fields['foto']['is_in_item']){ ?>
  2. <?php echo html_image($profile['foto'], 'normall', true); ?>
  3. <?php } ?>
В первом случае выводит: — original: 000/u1/3/9/d63128b7.png
Во втором — ничего.

Буду очень благодарен, если поможете.
#2 21 декабря 2020 в 23:23
@pronations, возможно дело в лишней l в названии предмета. Наверно, не normall а normal
#3 21 декабря 2020 в 23:24


@pronations, возможно дело в лишней l в названии предмета. Наверно, не normall а normal

Zau4man
Разницы нет.
#4 22 декабря 2020 в 00:34

В первом случае выводит: — original: 000/u1/3/9/d63128b7.png
Во втором — ничего.

@pronations
Так ваш первый случай и говорит вам: "полю указано формировать только один пресет — original"
Вот его и используйте во втором случае:
  1.  
  2. <?php if (!empty($fields['foto']) && $fields['foto']['is_in_item']){ ?>
  3. <?php echo html_image($profile['foto'], 'original', true); ?>
  4. <?php } ?>
  5.  
Если нужны другие пресеты, перенастройте поле и перегрузите картинку в настройках профиля
#5 22 декабря 2020 в 01:14

первый случай и говорит

Олег Васильевич я
Олег, спасибо большое. Упустил из виду этот момент.

Можете еще подсказать? Создал я простое строковое поле, типа никнейма, которое должно возле него отображаться. В профиле выводится отлично при помощи кода:

  1.  
  2. <?php if (!empty($fields['psevdo']) && $fields['psevdo']['is_in_item']){ ?>
  3. <?php echo $profile[('psevdo')]; ?>
  4. <?php } ?>
Как мне его вывести в комментариях рядом с ником пользователя?

И если не сложно, ткните, в каком файле я могу изменить виджет авторизации? Мне нужно изменить порядок ссылок (забыли пароль, регистрация...) и сами input. Не могу найти.
#6 22 декабря 2020 в 09:29
Имхо Тип контента функциональнее профиля
#7 22 декабря 2020 в 11:33

Как мне его вывести в комментариях рядом с ником пользователя?

@pronations
никак. Это поле недоступно в шаблоне комментариев. При выборке комментариев из базы о пользователе тянутся только github.com/instantsoft/icms2/blob/41414655c92c69acc575f913e77d067fd87c007d/system/core/model.php#L1372

  1.  
  2. $user_fields = [
  3. $as . '.nickname' => 'user_nickname',
  4. $as . '.slug' => 'user_slug',
  5. $as . '.is_deleted' => 'user_is_deleted',
  6. $as . '.groups' => 'user_groups',
  7. $as . '.avatar' => 'user_avatar'
  8. ];
  9.  
только если пилить дополнительный код, добавив еще один join этой таблицы и указав в выборке ваше новое поле.
#8 22 декабря 2020 в 11:37

только если пилить дополнительный код

Zau4man
Поможете? Естественно не бесплатно.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.