2010-08-15 3 views

ответ

2

Вы можете легко проверить содержимое объекта (например, $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; 
    } 
} 
+0

Если не хотите использовать модуль Devel, структуру печати через print_r ($ node-> field_checkbox); – Nikit

Смежные вопросы