Для чего группы полей?

Как пройти в библиотеку?

Для участия в голосовании необходима регистрация на сайте
#1 5 декабря 2016 в 22:03
Привет всем.

Сижу вот ломаю голову, перерыл всю админку, вдруг что-то упустил. Но так ничего и не нашел...

Вопрос. Для чего нужны группы полей в типах контента? Когда мы группируем свойства, они выводятся на сайте особым образом. Но с полями так не работает. Так для чего же они тогда?

Спасибо.
#2 5 декабря 2016 в 22:06
Ну почему же, групируються и над этими полями будет типа поздзаголовок

demo.instantcms.ru/users/1

Вот тут например группы: Анкета, Предпочтения, Контакты, О себе
#3 5 декабря 2016 в 22:07
У пользователей группируются, а в типах контента почему-то нет.
#4 5 декабря 2016 в 22:08
DK, при добавлении да, при выводе нет вроде
#5 5 декабря 2016 в 22:10

при выводе нет

Jestik
В том-то и дело. Второй вопрос назрел. Как сгруппировать их на странице записи?
#6 5 декабря 2016 в 23:53
DK, напомните завтра в личке, если забуду написать (подправлял уже для себя, сейчас нет возможности посмотреть как именно).
#7 6 декабря 2016 в 02:33

при добавлении да, при выводе нет вроде

Jestik
Пока не пользовался данным функционалом, интересно. Думаю, это недоработочка, которую надо бы на гите на обсуждение вынести.
#8 6 декабря 2016 в 12:38
DK, спасибо за напоминание:)
Для 2.6.1: templates\default\content\default_item.tpl.php, замените этот код:

  1.  
  2. <?php foreach($fields as $name=>$field){ ?>
  3.  
  4. <?php if (!$field['is_in_item'] || $field['is_system']) { continue; } ?>
  5. <?php if ((empty($item[$field['name']]) || empty($field['html'])) && $item[$field['name']] !== '0') { continue; } ?>
  6. <?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; } ?>
  7.  
  8. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?> <?php echo $field['options']['wrap_type']; ?>_field" <?php if($field['options']['wrap_width']){ ?> style="width: <?php echo $field['options']['wrap_width']; ?>;"<?php } ?>>
  9. <?php if ($field['options']['label_in_item'] != 'none'){ ?>
  10. <div class="title_<?php echo $field['options']['label_in_item']; ?>"><?php html($field['title']); ?>: </div>
  11. <?php } ?>
  12. <div class="value"><?php echo $field['html']; ?></div>
  13. </div>
  14.  
  15. <?php } ?>
  16.  
на этот:

  1.  
  2. <?php if ($fields) { ?>
  3.  
  4. <?php
  5. $fields_fieldsets = cmsForm::mapFieldsToFieldsets($fields);
  6. ?>
  7.  
  8. <?php foreach($fields_fieldsets as $fieldset){ ?>
  9.  
  10. <?php if ($fieldset['title']){ ?>
  11. <h4 class="field"><?php html($fieldset['title']); ?></h4>
  12. <?php } ?>
  13.  
  14. <?php if ($fieldset['fields']){ ?>
  15.  
  16. <?php foreach($fieldset['fields'] as $name=>$field){ ?>
  17.  
  18. <?php if (!$field['is_in_item'] || $field['is_system']) { continue; } ?>
  19. <?php if ((empty($item[$field['name']]) || empty($field['html'])) && $item[$field['name']] !== '0') { continue; } ?>
  20. <?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; } ?>
  21.  
  22. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?> <?php echo $field['options']['wrap_type']; ?>_field" <?php if($field['options']['wrap_width']){ ?> style="width: <?php echo $field['options']['wrap_width']; ?>;"<?php } ?>>
  23. <?php if ($field['options']['label_in_item'] != 'none'){ ?>
  24. <div class="title_<?php echo $field['options']['label_in_item']; ?>"><?php html($field['title']); ?>: </div>
  25. <?php } ?>
  26. <div class="value"><?php echo $field['html']; ?></div>
  27. </div>
  28.  
  29. <?php } ?>
  30.  
  31. <?php } ?>
  32.  
  33. <?php } ?>
  34.  
  35. <?php } ?>
  36.  
Ну и стилезуйте как вам надо. Должно получиться нечто подобное:

Предупреждение: делал любитель, используете на свой страх и риск. Хотелось бы программеров послушать. как лучше сделать.
#9 6 декабря 2016 в 13:44
Олег Васильевич я, спасибо. Но в Вашем варианте только заголовок группы появился. А вот если бы все поля из группы как-то в отдельный блок сгруппировать))) Типа как в профиле:
#10 6 декабря 2016 в 14:09

Думаю, это недоработочка, которую надо бы на гите на обсуждение вынести.

AndroS
Я тут писал про это дело еще при выходе двойки, года 2 назад. Полюбопытствуйте. instantcms.ru/forum/thread19837-1.html#189105
Я бы хотел, чтобы была возможность выводить их в контенте. Но это мои хотелки, давайте выносить на git, если вы за, могу в гите отписаться.
#11 6 декабря 2016 в 14:10
DK, Это стилями делается
#12 6 декабря 2016 в 14:12

давайте выносить на git

frukt
Как Вам будет угодно. Но, подозреваю, можно справиться ковырянием кода без лишних дерганий Fuze.

Jestik, Вы ошибаетесь. Нельзя сделать стилями то, чего нет.
#13 6 декабря 2016 в 14:16
Ну дак есть же класс, к нему сделать стили (скопировать те что для профиля)
#14 6 декабря 2016 в 14:22

Ну дак есть же класс

Jestik
Какой класс? Класс заголовка группы? Нельзя в заголовок запихнуть все поля этой группы.

В профилях и заголовок и поля находятся в одном блоке.
#15 6 декабря 2016 в 14:54
Для любого типа контента можно назначить свой шаблон вывода записи (это заложено с самой первой версии движка). Поэтому кому требуется внести что-то лишнее могут это сделать без проблем ;)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.