Поддержка
Поля

Видимость полей

Управление отображением полей на разных страницах

Поля могут отображаться или скрываться на разных страницах: список записей (index), просмотр (detail), создание (create), редактирование (update) и экспорт (export).

Глобальное управление

show
Closure|bool|null $val = true → static
Показывает элемент на всех страницах.
hide
Closure|bool|null $val = true → static
Скрывает элемент на всех страницах. Аналог show(false).
showOn
string $place → bool
Проверяет видимость элемента в указанном пространстве. Используется системой для автоматической проверки.

Условное отображение

hideWhen
string $fieldName → static
Скрывает элемент, когда указанное поле не равно true.
showWhen
string $fieldName → static
Показывает элемент, когда указанное поле равно true.
condition
string $conditionBinding → static
Устанавливает условие отображения через привязку.
Text::make('name', 'Имя')
    ->hideWhen('user'),
Textarea::make('Описание питания', 'meta->meals_info')
    ->condition('$metaSpecifications.includes(\'meals\')'),

Подробнее о построении условий — на сайте FormKit.

Управление по страницам

Каждый метод show*/hide* принимает Closure|bool|null и может комбинироваться с другими:

МетодСтраницаДействие
showOnIndex()Список записейПоказать
hideOnIndex()Список записейСкрыть
showOnDetail()Просмотр записиПоказать
hideOnDetail()Просмотр записиСкрыть
showOnCreate()СозданиеПоказать
hideOnCreate()СозданиеСкрыть
showOnUpdate()РедактированиеПоказать
hideOnUpdate()РедактированиеСкрыть
showInForms()Создание + РедактированиеПоказать
hideInForms()Создание + РедактированиеСкрыть
showInExport()ЭкспортПоказать
hideInExport()ЭкспортСкрыть

Пример комбинирования

Textarea::make('Описание питания', 'meta->meals_info')
    ->hide()          // Скрыть на всех страницах
    ->showOnIndex()   // Включить в таблице записей
    ->showOnDetail()  // Включить на странице просмотра

Ограничение видимости

onlyOnIndex
Closure|bool|null $val = true → static
Отображает поле только на странице со списком записей.
onlyInForms
Closure|bool|null $val = true → static
Отображает поле только на страницах форм.
showOnlyIn
array $spaces → static
Отображает поле только в указанных пространствах: index, detail, update, create, export.
hideOnlyIn
array $spaces → static
Скрывает поле только в указанных пространствах.
Text::make('description', 'Описание')
    ->showOnlyIn([
        CanControlView::SPACE_INDEX,
        CanControlView::SPACE_DETAIL,
    ])