5 use Drupal\Core\TypedData\ComplexDataInterface;
7 use Drupal\node\Entity\Node;
8 use Drupal\search_api\Datasource\DatasourcePluginBase;
37 $query = \Drupal::entityQuery(
'node')
38 ->condition(
'status', 1)
39 ->condition(
'type',
'data')
40 ->condition(
'field_data_type',
'dataset');
42 $total = $query->count()->execute();
43 $pages = floor($total / $pageSize);
45 if ($page <= $pages) {
47 $query = \Drupal::entityQuery(
'node')
48 ->condition(
'status', 1)
49 ->condition(
'type',
'data')
50 ->condition(
'field_data_type',
'dataset')
51 ->range($page * $pageSize, $pageSize);
52 $nids = $query->execute();
54 foreach ($nids as $id) {
55 $node = Node::load($id);
56 $ids[] = $node->uuid();
71 $dataStorage = \Drupal::service(
"dkan_data.storage");
72 $dataStorage->setSchema(
'dataset');
75 foreach ($ids as $id) {
76 $items[$id] =
new Dataset($dataStorage->retrieve($id));
87 public function getItemId(ComplexDataInterface $item) {
88 return $item->get(
'identifier');