Здравствуйте!
Есть ли модуль для скрытия конкретного поля на отдельной странице?
Есть материал, админ должен зайти и скрыть поле, а на других страницах этого материала поле должно остаться как есть, тоесть отображаться.
Просьба дать совет.
Здравствуйте!
Есть ли модуль для скрытия конкретного поля на отдельной странице?
Есть материал, админ должен зайти и скрыть поле, а на других страницах этого материала поле должно остаться как есть, тоесть отображаться.
Просьба дать совет.
Я не против если получится, через Conditional Fields, но можно с гораздо большей вариативностью через viewfield + views_conditional.
Выводим нужные поля на ноде через вьюху и в ней же указываем условия вывода одних полей от других.
Комментарии
Ну я бы делал через какое то дополнительное поле с типом boolean, написал бы шаблон для этого типа записи и если в админке отмечено показывал бы, если нет, то нет. Но это кривоватый наверное вариант, скорее всего есть что то попроще.
Попроще - Conditional Fields
Те же 2 поля, только не надо ничего кодить в шаблонах - видимость одного поля настраивается в зависимости от значения другого.
Да нет ничего, насколько мне известно. Возможно, только какие-то связки модулей типа PathAccess + FieldAccess.
Проще сделать костыль - например, добавить в материал дополнительное multiple-поле типа text, в значениях которого перечислить страницы, на которых конечное поле на должно отображаться. А в шаблоне (или в препроцессе) этого поля проверять совпадает ли текущий путь с любым из вбитых значений. Если совпадает, то выводить конечное поле. Или вместо multiple-поля можно обычный textarea, в котором каждая строка - отдельный "запрещённый" адрес. А в препроцессе explod'ить и сверять с текущим путём. Как-то так.
А что такое "другие страницы этого материала"? Другие ноды этого же типа? То есть под страницами Вы по сути подразумеваете ноды - для каких-то нод поле отображается, а для других, произвольно отмеченных админом - нет?
Да, именно так. Нужно чтобы в ноде одного типа можно было включать и выключать отображение поля админом для пользователей.
Когда квартира занята админ отключает поле с кнопкой "Заказать", но у других квартир кнопка есть. Квартира освободилась - админ включает кнопку заказать. Сама кнопка это поле с произвольным html. Всё уже реализовано, осталось только сделать ручную выключалку поля.
Добавляете логическое поле "квартира занята" и с помощью модуля field permissions делаете так, чтобы это поле видели и могли изменять только пользователи с определенной ролью, например администраторы или модераторы
Тогда всё ещё проще. Выше уже подсказали, как можно сделать:
Т.е. решить через шаблон поля.
PS. Я изначально было подумал, что требуется как-то скрывать поле в зависимости от различных адресов страницы.
Я не против если получится, через Conditional Fields, но можно с гораздо большей вариативностью через viewfield + views_conditional.
Выводим нужные поля на ноде через вьюху и в ней же указываем условия вывода одних полей от других.
СПАСИБО! Сделал как посоветовали! Все заработало как надо!
Дело, конечно, не мое, но я наблюдаю какую-то жесть в проектировании. Если квартира "заказывается" (и соответственно становится недоступной) через этот же сайт, почему админ должен постоянно следить за статусом всех квартир и вручную отключать/включать какие-то кнопки? Почему не привязать видимость кнопки "Заказать" к статусу квартиры "свободна/занята"?
Далее, неужели квартира у вас если заказывается, то навсегда, а если и освобождается, то в непредсказуемый момент времени??? Если квартира занята до завтра, а кому-то она нужна начиная с послезавтра, то почему кнопка "заказать" недоступна??
Дело в том, что это специально построенный дом с посуточной арендой для командировочных. Всего 16 квартир. Принимает заявки на бронирование 1 человек. Специальной программы для гостиниц и т.п. у них нет. Хотят прям на сайте сами включать-выключать поле. Сайт сделали, теперь вот прикручиваем доп. функционал, потому что изначально заказчик не смог сформулировать до конца чего же он хочет в итоге. Тоесть работаем по скраму ))) Заказчик просит - делаю, не просит - не делаю. Пока заказчик созрел именно на такой функционал.
Сделал как посоветовали, тоесть привязал к статусу "свободна/занята". Спасибо! Админ принципиально хочет ручного управления статусами и никак иначе )) Поэтому все именно так.
Задача закрыта, все в порядке.