Commit | Line | Data |
---|---|---|
360cec85 AE |
1 | {# |
2 | /** | |
3 | * @file | |
4 | * Default theme implementation for displaying a single search result. | |
5 | * | |
6 | * This template renders a single search result. The list of results is | |
7 | * rendered using '#theme' => 'item_list', with suggestions of: | |
8 | * - item_list__search_results__(plugin_id) | |
9 | * - item_list__search_results | |
10 | * | |
11 | * Available variables: | |
12 | * - url: URL of the result. | |
13 | * - title: Title of the result. | |
14 | * - snippet: A small preview of the result. Does not apply to user searches. | |
15 | * - info: String of all the meta information ready for print. Does not apply | |
16 | * to user searches. | |
17 | * - plugin_id: The machine-readable name of the plugin being executed,such | |
18 | * as "node_search" or "user_search". | |
19 | * - title_prefix: Additional output populated by modules, intended to be | |
20 | * displayed in front of the main title tag that appears in the template. | |
21 | * - title_suffix: Additional output populated by modules, intended to be | |
22 | * displayed after the main title tag that appears in the template. | |
23 | * - info_split: Contains same data as info, but split into separate parts. | |
24 | * - info_split.type: Node type (or item type string supplied by module). | |
25 | * - info_split.user: Author of the node linked to users profile. Depends | |
26 | * on permission. | |
27 | * - info_split.date: Last update of the node. Short formatted. | |
28 | * - info_split.comment: Number of comments output as "% comments", % | |
29 | * being the count. (Depends on comment.module). | |
30 | * @todo The info variable needs to be made drillable and each of these sub | |
31 | * items should instead be within info and renamed info.foo, info.bar, etc. | |
32 | * | |
33 | * Other variables: | |
34 | * - title_attributes: HTML attributes for the title. | |
35 | * - content_attributes: HTML attributes for the content. | |
36 | * | |
37 | * Since info_split is keyed, a direct print of the item is possible. | |
38 | * This array does not apply to user searches so it is recommended to check | |
39 | * for its existence before printing. The default keys of 'type', 'user' and | |
40 | * 'date' always exist for node searches. Modules may provide other data. | |
41 | * @code | |
42 | * {% if (info_split.comment) %} | |
43 | * <span class="info-comment"> | |
44 | * {{ info_split.comment }} | |
45 | * </span> | |
46 | * {% endif %} | |
47 | * @endcode | |
48 | * | |
49 | * To check for all available data within info_split, use the code below. | |
50 | * @code | |
51 | * <pre> | |
52 | * {{ dump(info_split) }} | |
53 | * </pre> | |
54 | * @endcode | |
55 | * | |
56 | * @see template_preprocess_search_result() | |
57 | * | |
58 | * @ingroup themeable | |
59 | */ | |
60 | #} | |
61 | {{ title_prefix }} | |
62 | <h3{{ title_attributes }}> | |
63 | <a href="{{ url }}">{{ title }}</a> | |
64 | </h3> | |
65 | {{ title_suffix }} | |
66 | {% if node.field_image.0 %} | |
41399eb4 | 67 | <div class="search-image"> |
da97cbbd AE |
68 | <a href="{{ url }}"> |
69 | <img src="{{ node.field_image.0.entity.uri.value | image_style('thumbnail') }}"> | |
70 | </a> | |
41399eb4 | 71 | </div> |
360cec85 AE |
72 | {% endif %} |
73 | {% if snippet %} | |
74 | <p{{ content_attributes }}>{{ snippet }}</p> | |
75 | {% endif %} | |
76 | {% if info %} | |
77 | <p>{{ info }}</p> | |
78 | {% endif %} |