instantsoft / icms2

Self-hosted Site Management System
https://instantcms.ru
GNU General Public License v2.0
294 stars 120 forks source link

Связь полей типов контента с полями свойств. #1375

Open numinaki opened 2 years ago

numinaki commented 2 years ago

Используемая версия InstantCMS: последняя

Довольно долгое время обсуждается ситуация, что поля (свойства) категорий неудобны, не имеют столько опций и настроек, т.д. Иногда приходится отказываться от использования свойств в пользу полей типа контента. При этом есть и обратная ситуация, когда неудобно использовать поля сайта. Например, нельзя указать прямо в каких категориях выводить, фильтры по категориями и т.п.

Есть идея решения:

  1. Создаем нужное нам поле в типе контента. Например, число(да, оно есть в свойствах, но там нет многих настроек, префиксы....), И результат данного поля передаем в поле свойства.
  2. В полях свойств необходимо добавить поле с типом "Поле типа контента".
  3. Далее, когда создаю поле в свойствах, выбираю поле типа контента, ниже появляется доп. поле со списком полей типа контента. Там выбираем нужное нам поле для вывода.
  4. Теперь в свойствах будет выводиться результат поля типа контента, но через свойства контента. Настраиваться в фильтрах и т.д.
  5. Тоже самое поле типа контента (которое мы создали), также может работать. Т.е. работает и как поле типа контента и как свойство, но в свойства передается результат поля.
  6. Если у нас поле активно, не выводится не в списке, не в записи, то оно не выводится как поле типа контента, но может работать как поле в свойствах. Если же отключено и в столбце активно, то не используется нигде. изображение

В чем смысл данного решения? смысл в том, чтобы можно было более гибко использовать нашу cms, как пример, у нас есть поля контента, мы их можем использовать в наборах, их же можем использовать в свойствах и также выводить в списках записей, в самой записи. Т.е. мы с одного поля можем использовать данные в разных важных местах, как с точки зрения сео так и удобства сайта. Меньшее заполнение полей, если нам нужно использовать гибкие фильтры в категориях, расширяем функциональность полей в свойствах и т.д.

Предлагаю обсудить данную идею, возможно дополнить то, что я не учел, возможно что-то улучшить.