be more specific for search results elements
[ryf-theme.git] / templates / search-result.html.twig
CommitLineData
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 %}