我正在尝试查看是否已选中CCK复选框字段。
是这样的:
if ($node->field_checkbox[0]['value'] = 'checked')
感谢。
答案 0 :(得分:2)
您可以通过安装Devel模块并使用$node
轻松检查对象的内容(例如dsm($node)
)。
对于CCK复选框,$node->field_fieldname
包含至少包含一个元素的数组。每个元素对应于字段的每个选中复选框,复选框元素的value
键设置为您在字段配置中指定的值。
否则,如果取消选中该复选框,则该复选框不会显示为$node->field_fieldname
中的元素。
但是,如果没有选中复选框,$node->field_fieldname
仍会包含一个元素,但该元素的value
键将被取消设置/设置为NULL
。
所以,假设你有一个字段field_checkbox
,有两个复选框:1) Foo ,其值为foovalue
,以及2) Bar ,其值为barvalue
。
要检查是否选中了 Foo ,您可以执行以下操作:
foreach ($node->field_checkbox as $checkbox) {
if ($checkbox['value'] == 'foovalue') {
return TRUE;
}
}