Loading CHANGELOG.txt +1 −0 Changes for CHANGELOG.txt: 1 added line, 0 removed lines. Original line number Diff line number Diff line Search API 1.x, dev (xxxx-xx-xx): --------------------------------- - #3188138 by drunken monkey, devad: Added an "Item URL" field to Views. Search API 1.23 (2022-01-21): ----------------------------- Loading search_api.views.inc +8 −0 Changes for search_api.views.inc: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -515,6 +515,14 @@ function _search_api_views_data_special_fields(array &$table, IndexInterface $in $table[$language_field]['real field'] = 'search_api_language'; } $url_field = _search_api_views_find_field_alias('search_api_url', $table); $table[$url_field]['title'] = t('Item URL'); $table[$url_field]['help'] = t("The item's URL"); $table[$url_field]['field']['id'] = 'search_api'; if ($url_field != 'search_api_url') { $table[$url_field]['real field'] = 'search_api_url'; } $relevance_field = _search_api_views_find_field_alias('search_api_relevance', $table); $table[$relevance_field]['group'] = t('Search'); $table[$relevance_field]['title'] = t('Relevance'); Loading tests/src/Functional/ViewsTest.php +9 −0 Changes for tests/src/Functional/ViewsTest.php: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ class ViewsTest extends SearchApiBrowserTestBase { if (!Utility::isRunningInCli()) { \Drupal::state()->set('search_api_use_tracking_batch', FALSE); } $this->rebuildContainer(); } /** Loading Loading @@ -781,6 +783,7 @@ class ViewsTest extends SearchApiBrowserTestBase { $this->assertSession()->pageTextContains('Language code'); $this->assertSession()->pageTextContains('The user language code.'); $this->assertSession()->pageTextContains('(No description available)'); $this->assertSession()->pageTextContains('Item URL'); $this->assertSession()->pageTextNotContains('Error: missing help'); // Then add some fields. Loading @@ -797,6 +800,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'search_api_entity_user.roles', 'search_api_index_database_search_index.rendered_item', 'search_api_index_database_search_index.search_api_rendered_item', 'search_api_index_database_search_index.search_api_url', ]; $edit = []; foreach ($fields as $field) { Loading Loading @@ -879,6 +883,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'user_id:roles', 'rendered_item', 'search_api_rendered_item', 'search_api_url', ]; $rendered_item_fields = ['rendered_item', 'search_api_rendered_item']; foreach ($this->entities as $id => $entity) { Loading @@ -901,6 +906,9 @@ class ViewsTest extends SearchApiBrowserTestBase { if ($field === 'search_api_datasource') { $data = [$datasource_id]; } elseif ($field === 'search_api_url') { $data = [$field_entity->toUrl()->toString()]; } elseif (in_array($field, $rendered_item_fields)) { $view_mode = $field === 'rendered_item' ? 'full' : 'teaser'; $data = [$view_mode]; Loading Loading @@ -1018,6 +1026,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'search_api_datasource', 'rendered_item', 'search_api_rendered_item', 'search_api_url', ]; // The "Fallback options" are only available for fields based on the Field // API. Loading Loading
CHANGELOG.txt +1 −0 Changes for CHANGELOG.txt: 1 added line, 0 removed lines. Original line number Diff line number Diff line Search API 1.x, dev (xxxx-xx-xx): --------------------------------- - #3188138 by drunken monkey, devad: Added an "Item URL" field to Views. Search API 1.23 (2022-01-21): ----------------------------- Loading
search_api.views.inc +8 −0 Changes for search_api.views.inc: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -515,6 +515,14 @@ function _search_api_views_data_special_fields(array &$table, IndexInterface $in $table[$language_field]['real field'] = 'search_api_language'; } $url_field = _search_api_views_find_field_alias('search_api_url', $table); $table[$url_field]['title'] = t('Item URL'); $table[$url_field]['help'] = t("The item's URL"); $table[$url_field]['field']['id'] = 'search_api'; if ($url_field != 'search_api_url') { $table[$url_field]['real field'] = 'search_api_url'; } $relevance_field = _search_api_views_find_field_alias('search_api_relevance', $table); $table[$relevance_field]['group'] = t('Search'); $table[$relevance_field]['title'] = t('Relevance'); Loading
tests/src/Functional/ViewsTest.php +9 −0 Changes for tests/src/Functional/ViewsTest.php: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ class ViewsTest extends SearchApiBrowserTestBase { if (!Utility::isRunningInCli()) { \Drupal::state()->set('search_api_use_tracking_batch', FALSE); } $this->rebuildContainer(); } /** Loading Loading @@ -781,6 +783,7 @@ class ViewsTest extends SearchApiBrowserTestBase { $this->assertSession()->pageTextContains('Language code'); $this->assertSession()->pageTextContains('The user language code.'); $this->assertSession()->pageTextContains('(No description available)'); $this->assertSession()->pageTextContains('Item URL'); $this->assertSession()->pageTextNotContains('Error: missing help'); // Then add some fields. Loading @@ -797,6 +800,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'search_api_entity_user.roles', 'search_api_index_database_search_index.rendered_item', 'search_api_index_database_search_index.search_api_rendered_item', 'search_api_index_database_search_index.search_api_url', ]; $edit = []; foreach ($fields as $field) { Loading Loading @@ -879,6 +883,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'user_id:roles', 'rendered_item', 'search_api_rendered_item', 'search_api_url', ]; $rendered_item_fields = ['rendered_item', 'search_api_rendered_item']; foreach ($this->entities as $id => $entity) { Loading @@ -901,6 +906,9 @@ class ViewsTest extends SearchApiBrowserTestBase { if ($field === 'search_api_datasource') { $data = [$datasource_id]; } elseif ($field === 'search_api_url') { $data = [$field_entity->toUrl()->toString()]; } elseif (in_array($field, $rendered_item_fields)) { $view_mode = $field === 'rendered_item' ? 'full' : 'teaser'; $data = [$view_mode]; Loading Loading @@ -1018,6 +1026,7 @@ class ViewsTest extends SearchApiBrowserTestBase { 'search_api_datasource', 'rendered_item', 'search_api_rendered_item', 'search_api_url', ]; // The "Fallback options" are only available for fields based on the Field // API. Loading