подскажите, как получить все не повторяющиеся значения одного поля из всех опубликованных нод.
Придумал так:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'car')
->propertyCondition('status', NODE_PUBLISHED);
$result = $query->execute();
if (isset($result['node'])) {
$cars_items_nids = array_keys($result['node']);
$cars_items = entity_load('node', $cars_items_nids);
}
foreach ($cars_items as $item) {
$marka_item = field_get_items('node', $item, 'field_marka');
$marka_value = field_view_value('node', $item, 'field_marka', $marka_item[0]);
$marka[$marka_item[0]['value']] = $marka_value['#markup'];
}
Может можно проще было?