2010-08-15 60 views

回答

2

通过安装Devel模块和使用dsm($node),您可以轻松检查对象的内容(例如$node)。

对于CCK复选框,$node->field_fieldname包含一个至少包含一个元素的数组。每个元素对应于该字段的每个选中的复选框,并且该复选框的元素的键value被设置为您在该字段的配置中指定的值。

否则,如果复选框未被选中,它将不会作为$node->field_fieldname中的元素出现。

但是,如果没有选中复选框,$node->field_fieldname仍将包含一个元素,但该元素的value键将被取消设置/设置为NULL

所以,让我们说你有一个字段,field_checkbox,有两个复选框:1)其中有foovalue值,和2)酒吧其中有barvalue值。

要检查是否被选中,你可以这样做:

foreach ($node->field_checkbox as $checkbox) { 
    if ($checkbox['value'] == 'foovalue') { 
    return TRUE; 
    } 
} 
+0

如果不想使用devel的模块,通过的print_r打印结构($节点 - > field_checkbox); – Nikit 2010-08-16 04:39:33

相关问题