Я пытаюсь проверить, отмечено ли поле флажка CCK.drupal проверить, если флажок поля отмечен
Является ли это что-то вроде:
if ($node->field_checkbox[0]['value'] = 'checked')
?
Спасибо.
Я пытаюсь проверить, отмечено ли поле флажка CCK.drupal проверить, если флажок поля отмечен
Является ли это что-то вроде:
if ($node->field_checkbox[0]['value'] = 'checked')
?
Спасибо.
Вы можете легко проверить содержимое объекта (например, $node
), установив модуль Devel и используя dsm($node)
.
В случае CCK флажок $node->field_fieldname
содержит массив с хотя бы одним элементом. Каждый элемент соответствует каждому установленному флажку для поля, а для ключа value
для элемента флажка установлено значение, указанное в конфигурации для поля.
В противном случае, если флажок снят, он не будет отображаться как элемент в пределах $node->field_fieldname
.
Однако, если флажок не установлен, $node->field_fieldname
по-прежнему будет содержать один элемент, но ключ value
для этого элемента будет отменен/установлен на NULL
.
Итак, допустим, вы имели поле, field_checkbox
, с двумя флажками: 1) Foo который имеет значение foovalue
, и 2) Бар который имеет значение barvalue
.
Чтобы проверить Foo проверяется, вы можете сделать:
foreach ($node->field_checkbox as $checkbox) {
if ($checkbox['value'] == 'foovalue') {
return TRUE;
}
}
Если не хотите использовать модуль Devel, структуру печати через print_r ($ node-> field_checkbox); – Nikit