Mercurial > hg > isophonics-drupal-site
comparison core/modules/search/src/Plugin/SearchInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\search\Plugin; | |
4 | |
5 use Drupal\Component\Plugin\PluginInspectionInterface; | |
6 use Drupal\Core\Form\FormStateInterface; | |
7 | |
8 /** | |
9 * Defines a common interface for all SearchPlugin objects. | |
10 */ | |
11 interface SearchInterface extends PluginInspectionInterface { | |
12 | |
13 /** | |
14 * Sets the keywords, parameters, and attributes to be used by execute(). | |
15 * | |
16 * @param string $keywords | |
17 * The keywords to use in a search. | |
18 * @param array $parameters | |
19 * Array of parameters as an associative array. This is expected to | |
20 * be the query string from the current request. | |
21 * @param array $attributes | |
22 * Array of attributes, usually from the current request object. | |
23 * | |
24 * @return \Drupal\search\Plugin\SearchInterface | |
25 * A search plugin object for chaining. | |
26 */ | |
27 public function setSearch($keywords, array $parameters, array $attributes); | |
28 | |
29 /** | |
30 * Returns the currently set keywords of the plugin instance. | |
31 * | |
32 * @return string | |
33 * The keywords. | |
34 */ | |
35 public function getKeywords(); | |
36 | |
37 /** | |
38 * Returns the current parameters set using setSearch(). | |
39 * | |
40 * @return array | |
41 * The parameters. | |
42 */ | |
43 public function getParameters(); | |
44 | |
45 /** | |
46 * Returns the currently set attributes (from the request). | |
47 * | |
48 * @return array | |
49 * The attributes. | |
50 */ | |
51 public function getAttributes(); | |
52 | |
53 /** | |
54 * Verifies if the values set via setSearch() are valid and sufficient. | |
55 * | |
56 * @return bool | |
57 * TRUE if the search settings are valid and sufficient to execute a search, | |
58 * and FALSE if not. | |
59 */ | |
60 public function isSearchExecutable(); | |
61 | |
62 /** | |
63 * Returns the search index type this plugin uses. | |
64 * | |
65 * @return string|null | |
66 * The type used by this search plugin in the search index, or NULL if this | |
67 * plugin does not use the search index. | |
68 * | |
69 * @see search_index() | |
70 * @see search_index_clear() | |
71 */ | |
72 public function getType(); | |
73 | |
74 /** | |
75 * Executes the search. | |
76 * | |
77 * @return array | |
78 * A structured list of search results. | |
79 */ | |
80 public function execute(); | |
81 | |
82 /** | |
83 * Executes the search and builds render arrays for the result items. | |
84 * | |
85 * @return array | |
86 * An array of render arrays of search result items (generally each item | |
87 * has '#theme' set to 'search_result'), or an empty array if there are no | |
88 * results. | |
89 */ | |
90 public function buildResults(); | |
91 | |
92 /** | |
93 * Provides a suggested title for a page of search results. | |
94 * | |
95 * @return string | |
96 * The translated suggested page title. | |
97 */ | |
98 public function suggestedTitle(); | |
99 | |
100 /** | |
101 * Returns the searching help. | |
102 * | |
103 * @return array | |
104 * Render array for the searching help. | |
105 */ | |
106 public function getHelp(); | |
107 | |
108 /** | |
109 * Alters the search form when being built for a given plugin. | |
110 * | |
111 * The core search module only invokes this method on active module plugins | |
112 * when building a form for them in | |
113 * \Drupal\search\Form\SearchPageForm::buildForm(). A plugin implementing this | |
114 * will also need to implement the buildSearchUrlQuery() method. | |
115 * | |
116 * @param array $form | |
117 * Nested array of form elements that comprise the form. | |
118 * @param \Drupal\Core\Form\FormStateInterface $form_state | |
119 * The current state of the form. The arguments that | |
120 * \Drupal::formBuilder()->getForm() was originally called with are | |
121 * available in the array $form_state->getBuildInfo()['args']. | |
122 * | |
123 * @see SearchInterface::buildSearchUrlQuery() | |
124 */ | |
125 public function searchFormAlter(array &$form, FormStateInterface $form_state); | |
126 | |
127 /** | |
128 * Builds the URL GET query parameters array for search. | |
129 * | |
130 * When the search form is submitted, a redirect is generated with the | |
131 * search input as GET query parameters. Plugins using the searchFormAlter() | |
132 * method to add form elements to the search form will need to override this | |
133 * method to gather the form input and add it to the GET query parameters. | |
134 * | |
135 * @param \Drupal\Core\Form\FormStateInterface $form_state | |
136 * The form state, with submitted form information. | |
137 * | |
138 * @return array | |
139 * An array of GET query parameters containing all relevant form values | |
140 * to process the search. The 'keys' element must be present in order to | |
141 * trigger generation of search results, even if it is empty or unused by | |
142 * the search plugin. | |
143 * | |
144 * @see SearchInterface::searchFormAlter() | |
145 */ | |
146 public function buildSearchUrlQuery(FormStateInterface $form_state); | |
147 | |
148 } |