protected function DevelController::getBaseRow in Search API Solr 8
Return a base row for the summary table, which will be modified later on.
Parameters
\Drupal\search_api\ServerInterface $server:
\Drupal\search_api\IndexInterface $index:
string $datasource_id:
Entity $entity:
string $langcode:
string $item_id:
Return value
string[]
1 call to DevelController::getBaseRow()
- DevelController::entitySolr in src/
Controller/ DevelController.php - Prints the document structure to be indexed by Solr.
File
- src/
Controller/ DevelController.php, line 326
Class
- DevelController
- Returns responses for devel module routes.
Namespace
Drupal\search_api_solr\ControllerCode
protected function getBaseRow($server, $index, $datasource_id, $entity, $langcode, $item_id) {
// Build table row.
$base_row = [
'num' => 0,
'server' => $this
->t('<a href=":url">@id</a>', [
'@id' => $server
->id(),
':url' => Url::fromRoute('entity.search_api_server.canonical', [
'search_api_server' => $server
->id(),
])
->toString(),
]),
'index' => $this
->t('<a href=":index_url">@index_id</a><br />(%read_write_mode mode)', [
'@index_id' => $index
->id(),
':index_url' => Url::fromRoute('entity.search_api_index.canonical', [
'search_api_index' => $index
->id(),
])
->toString(),
'%read_write_mode' => $index
->isReadOnly() ? $this
->t('read-only') : $this
->t('read-write'),
]),
'id' => $datasource_id . '/' . $entity
->id(),
'langcode' => $langcode,
'tracked' => '',
'changed' => '-',
'status' => '-',
'object_size' => '-',
'solr_id' => '-',
'solr_exists' => '',
'solr_changed' => '-',
'solr_size' => '-',
];
// Fetch tracker information.
$tracker = $index
->getTrackerInstance();
$select = $tracker
->getDatabaseConnection()
->select('search_api_item', 'sai');
$select
->condition('index_id', $index
->id());
$select
->condition('datasource', $datasource_id);
$select
->condition('item_id', $item_id);
$select
->fields('sai', [
'item_id',
'status',
'changed',
]);
$tracker_data = $select
->execute()
->fetch();
// Add tracker information to row.
if ($tracker_data) {
$base_row['tracked'] = $this
->t('yes');
$base_row['changed'] = $this
->showTimeAndTimeAgo($tracker_data->changed);
$base_row['status'] = $tracker_data->status ? $this
->t('no') : $this
->t('yes');
}
else {
$base_row['tracked'] = $this
->t('no');
}
return $base_row;
}