我根据正在检查的布尔字段创建了一系列图像。现在我想扩展该条件逻辑,以便使用选择列表或分类列表从类别中进行选择。这就是我所拥有的:
function ycs_list() {
$query = new EntityFieldQuery;
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', YCS_NODE_TYPE)
->propertyCondition('status', 1)
->fieldCondition('field_active_image', 'value', 1, '=');
$result = $query->execute();
return $result;
}
如何将其扩展为使用两个文件?如果我要使用分类法列表,我会使用除EntityFieldQuery以外的其他内容,还是仅仅是这个的附加条件?
答案 0 :(得分:1)
您可以根据需要向EntityFieldQuery
添加任意数量的条件,并且通过Drupal 7中的字段将词汇表链接到节点,您可以非常轻松地将它们包含在内。唯一需要注意的是,术语引用字段中术语ID的列名称为tid
,而不是value
,在很多情况下都会使用。{/ p>
以下假设您的术语参考字段名为field_my_term_field
:
$query = new EntityFieldQuery;
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', YCS_NODE_TYPE)
->propertyCondition('status', 1)
->fieldCondition('field_active_image', 'value', 1, '=')
->fieldCondition('field_my_term_field', 'tid', $the_term_id);
$result = $query->execute();
return $result;