我最近一直在尝试使用实体包装器来访问字段值,现在我的代码如下:
$wrapper = entity_metadata_wrapper("node", $nid);
print($wrapper->field_property_sample()->value());
不要这样写:
print($node->field_property_sample[LANGUAGE_NONE][0]["value"]);
问题是有时我遇到这个:
EntityMetadataWrapperException: 未知的数据属性 field_property_sample。
是否有办法解决这个问题?
我有大约10个这样的字段可能会引发此异常,情况变得很糟糕。
$wrapper = entity_metadata_wrapper("node", $nid);
try {
print($wrapper->field_property_sample()->value());
} catch (EntityMetadataWrapperException &e){
print("");
}
/** repeat 10 times **/
有没有一些函数可以类似这样调用?
$wrapper = entity_metadata_wrapper("node", $nid);
print($wrapper->field_property_sample->exists() ? $wrapper->field_property_sample->value() : "" );
/** repeat 10 times **/
isset()
是最干净的方式。 - Clive