Нужен компонент который дополнит поля флагом включить отключить поле

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 22 октября 2024 в 22:59

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

1)Также подойдет решение если кто поможет универсальным кодом для вставки в файлы полей

2) Также подойдет решение если правками в файлах заработает связка флага и поля. 

3) Либо компонентом 

#2 23 октября 2024 в 07:36

В приложении компонент для скрытия полей. Использовать так.

1. Ставите компонент fieldshide20241023_1.0.0
2. В нужном типе контента добавляете поле с именем нужного поля плюс приписка _off

Например так

Изображение

Настраиваете права доступа к полю

Изображение

В списке полей получится примерно так

Изображение

Все.

При редактировании записи ставите галочку

Изображение

И поле скрывается

Изображение

Есть нюансы. Компонент может не подойти

Решений вопроса может быть несколько. Правки в шаблоне мне не нравятся, так как за ними надо будет следить. Поэтому сделал через компонент. Но, чтобы поля не выводились, компонент обнуляет данные, получаемые из базы, а они могут где-то использоваться в шаблоне. Получается, компонент может поломать какую-то вашу логику в шаблонах. Обязательно протестировать.

Компонент не сможет повлиять на поля, которые не хранят свои данные в своем поле. Например, на поле категория.

Можно было и в других хуках попробовать вносить правки, не трогая данные, получаемые из базы, но тогда можем столкнуться с проблемой, когда поле не выводится, но его заголовок — выводится.

Изображение

Поэтому тестировать. Если решение не подошло, удалите его. 

Изображение
Прикрепленный файл
fieldshide20241023-1-0-0.zip 4 Кб
#3 23 октября 2024 в 08:15

 Zau4man, мне принципиально важно чтобы и в редактировании скрывалось как с обычной связкой флага. 

Изображение

Изображение

Если дополните этой функцией, буду признателен 

И доступность создания должна быть всем юзерам, не только админам . 

Добавлено спустя 7 минут

 Zau4man, мне принципиально важно чтобы и в редактировании скрывалось как с обычной связкой флага. 

Изображение

Изображение

Если дополните этой функцией, буду признателен 

И доступность создания должна быть всем юзерам, не только админам . 

Happy

На примере у меня вставлен код в файлы поля, но этот код подходит не ко всем полям, по этому код бы какой подходящий для всех типов полей. 

#4 23 октября 2024 в 08:23

мне принципиально важно чтобы и в редактировании скрывалось как с обычной связкой флага

Happy

надо было упомянуть это в первом сообщении. Скриншота было бы достаточно для понимания.

Тогда компонент не подойдет, тут нужна другая логика. Не скрывать если отмечено, а показывать. 

#5 23 октября 2024 в 08:34

Попробуйте эту версию. Просто установите поверх. Логика меняется

Теперь нужно добавлять поле с припиской _on

Изображение

Не забудьте у основного поля добавить зависимость показа в форме от текущего

Изображение

Получится примерно так

Изображение

Так в форме

Изображение

А на сайте если галочка есть, поле показывается. Если галочки нет — не показывается.

Обратите внимание, что таким образом вы скроете от показа уже все добавленные данные, так как галочка в них будет по умолчанию отключена.

Прикрепленный файл
fieldshide20241023-1-0-1.zip 5 Кб
#6 23 октября 2024 в 12:08

 Zau4man, лучший! то что надо. Задонатил на тинькоф

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.