Drupal Camp Беларусь 18-19 мая 2019 в Минске.

Как спрятать поле из вывода ноды в зависимости от значения другого поля.

Я буду прятать поле field_image из вывода на странице пользователя в зависимости от поля field_slider_enable.
Вот такие настройки этих полей:

Настройки полей материала

То есть field_slider_enable это просто чекбокс.
Если значения чекбокса у ноды = включен, то показываем галерею, если нет, то прячем field_image от вывода.
Вот так выглядят настройки отображения:

Настройки отображения полей

Ниже код, он лежит в теме в файле template.php.
Обязательно поменяйте название функции в зависимости от название темы.

function THEME_preprocess_node(&$vars, $hook) {
  if($vars['view_mode'] == 'full' && $vars['node']->type == 'article') {
    // Если поле пустое или значение == 0, то не отображаем слайдер.
    $field_slider_enable = field_get_items('node', $vars['node'], 'field_slider_enable');
    if (empty($field_slider_enable) || $field_slider_enable[0]['value'] == 0) {
      $vars['content']['field_image']['#access'] = FALSE;
    }
  }
}

Сначала он проверяет, отображается ли полная нода типа article.
Ну и затем не дает доступ к этому полю, если чекбокс не включен.

Если есть вопросы по коду, то очень интересная статья: Функции предобработки переменных перед выводом в шаблон.