search_api_solr_devel.module in Search API Solr 8.3
Same filename and directory in other branches
File
modules/search_api_solr_devel/search_api_solr_devel.moduleView source
<?php
/**
* @file
*/
use Drupal\search_api\Query\QueryInterface;
use Drupal\search_api\Query\ResultSetInterface;
use Solarium\Core\Query\QueryInterface as SolariumQueryInterface;
use Solarium\Core\Query\Result\QueryType;
/**
* Implements hook_entity_type_alter().
*/
function search_api_solr_devel_entity_type_alter(array &$entity_types) {
/** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */
foreach ($entity_types as $entity_type_id => $entity_type) {
if ($entity_type
->hasViewBuilderClass() && $entity_type
->hasLinkTemplate('canonical')) {
$entity_type
->setLinkTemplate('devel-solr', "/devel/{$entity_type_id}/{{$entity_type_id}}/solr");
}
}
}
/**
* Implements hook_search_api_solr_query_alter().
*/
function search_api_solr_devel_search_api_solr_query_alter(SolariumQueryInterface $solarium_query, QueryInterface $query) {
$solarium_query
->getDebug();
$solarium_query
->addParam('echoParams', 'all');
$solarium_query
->setOmitHeader(FALSE);
}
/**
* Implements hook_search_api_solr_search_results_alter().
*/
function search_api_solr_devel_search_api_solr_search_results_alter(ResultSetInterface $result_set, QueryInterface $query, QueryType $result) {
$result_data = $result
->getData();
if (isset($result_data['debug'])) {
/** @var \Drupal\devel\DevelDumperManagerInterface $dumper */
$dumper = \Drupal::service('devel.dumper');
$dumper
->message($result_data['debug'], 'Solr Debug Output');
}
}