Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
0.00% |
0 / 14 |
|
| hook_search_preprocess | |
0.00% |
0 / 1 |
0 | |
0.00% |
0 / 10 |
|||
| hook_search_plugin_alter | |
0.00% |
0 / 1 |
0 | |
0.00% |
0 / 4 |
|||
| <?php | |
| /** | |
| * @file | |
| * Hooks provided by the Search module. | |
| */ | |
| /** | |
| * @addtogroup hooks | |
| * @{ | |
| */ | |
| /** | |
| * Preprocess text for search. | |
| * | |
| * This hook is called to preprocess both the text added to the search index | |
| * and the keywords users have submitted for searching. The same processing | |
| * needs to be applied to both so that searches will find matches. | |
| * | |
| * Possible uses: | |
| * - Adding spaces between words of Chinese or Japanese text. | |
| * - Stemming words down to their root words to allow matches between, for | |
| * instance, walk, walked, walking, and walks in searching. | |
| * - Expanding abbreviations and acronyms that occur in text. | |
| * | |
| * @param string $text | |
| * The text to preprocess. This is a single piece of plain text extracted | |
| * from between two HTML tags or from the search query. It will not contain | |
| * any HTML entities or HTML tags. | |
| * @param string|null $langcode | |
| * The language code for the language the text is in, if known. When this hook | |
| * is invoked during search indexing, the language will most likely be known | |
| * and passed in. This is left up to the search plugin; | |
| * \Drupal\node\Plugin\Search\NodeSearch does pass in the node | |
| * language. However, when this hook is invoked during searching, in order to | |
| * let a module apply the same preprocessing to the search keywords and | |
| * indexed text so they will match, $langcode will be NULL. A hook | |
| * implementation can call the getCurrentLanguage() method on the | |
| * 'language_manager' service to determine the current language and act | |
| * accordingly. | |
| * | |
| * @return string | |
| * The text after preprocessing. Note that if your module decides not to | |
| * alter the text, it should return the original text. Also, after | |
| * preprocessing, words in the text should be separated by a space. | |
| * | |
| * @ingroup search | |
| */ | |
| function hook_search_preprocess($text, $langcode = NULL) { | |
| // If the language is not set, get it from the language manager. | |
| if (!isset($langcode)) { | |
| $langcode = \Drupal::languageManager()->getCurrentLanguage()->getId(); | |
| } | |
| // If the langcode is set to 'en' then add variations of the word "testing" | |
| // which can also be found during English language searches. | |
| if ($langcode == 'en') { | |
| // Add the alternate verb forms for the word "testing". | |
| if ($text == 'we are testing') { | |
| $text .= ' test tested'; | |
| } | |
| } | |
| return $text; | |
| } | |
| /** | |
| * Alter search plugin definitions. | |
| * | |
| * @param array $definitions | |
| * The array of search plugin definitions, keyed by plugin ID. | |
| * | |
| * @see \Drupal\search\Annotation\SearchPlugin | |
| * @see \Drupal\search\SearchPluginManager | |
| */ | |
| function hook_search_plugin_alter(array &$definitions) { | |
| if (isset($definitions['node_search'])) { | |
| $definitions['node_search']['title'] = t('Nodes'); | |
| } | |
| } | |
| /** | |
| * @} End of "addtogroup hooks". | |
| */ | |