Default theme implementation for displaying a single search result.
This template renders a single search result and is collected into search-results.html.twig. This and the parent template are dependent to one another sharing the markup for ordered lists.
Available variables:
@todo The info variable needs to be made drillable and each of these sub items should instead be within info and renamed info.foo, info.bar, etc.
Other variables:
Since info_split is keyed, a direct print of the item is possible. This array does not apply to user searches so it is recommended to check for its existence before printing. The default keys of 'type', 'user' and 'date' always exist for node searches. Modules may provide other data.
{% if (info_split.comment) %}
<span class="info-comment">
{{ info_split.comment }}
</span>
{% endif %}
To check for all available data within info_split, use the code below.
<pre>
{{ dump(info_split) }}
</pre>
template_preprocess_search_result()
template_process()
- {#
- /**
- * @file
- * Default theme implementation for displaying a single search result.
- *
- * This template renders a single search result and is collected into
- * search-results.html.twig. This and the parent template are
- * dependent to one another sharing the markup for ordered lists.
- *
- * Available variables:
- * - url: URL of the result.
- * - title: Title of the result.
- * - snippet: A small preview of the result. Does not apply to user searches.
- * - info: String of all the meta information ready for print. Does not apply
- * to user searches.
- * - module: The machine-readable name of the module (tab) being searched, such
- * as "node" or "user".
- * - title_prefix: Additional output populated by modules, intended to be
- * displayed in front of the main title tag that appears in the template.
- * - title_suffix: Additional output populated by modules, intended to be
- * displayed after the main title tag that appears in the template.
- * - info_split: Contains same data as info, but split into separate parts.
- * - info_split.type: Node type (or item type string supplied by module).
- * - info_split.user: Author of the node linked to users profile. Depends
- * on permission.
- * - info_split.date: Last update of the node. Short formatted.
- * - info_split.comment: Number of comments output as "% comments", %
- * being the count. (Depends on comment.module).
- * @todo The info variable needs to be made drillable and each of these sub
- * items should instead be within info and renamed info.foo, info.bar, etc.
- *
- * Other variables:
- * - title_attributes: HTML attributes for the title.
- * - content_attributes: HTML attributes for the content.
- *
- * Since info_split is keyed, a direct print of the item is possible.
- * This array does not apply to user searches so it is recommended to check
- * for its existence before printing. The default keys of 'type', 'user' and
- * 'date' always exist for node searches. Modules may provide other data.
- * @code
- * {% if (info_split.comment) %}
- * <span class="info-comment">
- * {{ info_split.comment }}
- * </span>
- * {% endif %}
- * @endcode
- *
- * To check for all available data within info_split, use the code below.
- * @code
- * <pre>
- * {{ dump(info_split) }}
- * </pre>
- * @endcode
- *
- * @see template_preprocess()
- * @see template_preprocess_search_result()
- * @see template_process()
- *
- * @ingroup themeable
- */
- #}
- <li {{ attributes }}>
- {{ title_prefix }}
- <h3 class="title"{{ title_attributes }}>
- <a href="{{ url }}">{{ title }}</a>
- </h3>
- {{ title_suffix }}
- <div class="search-snippet-info">
- {% if snippet %}
- <p class="search-snippet"{{ content_attributes }}>{{ snippet }}</p>
- {% endif %}
- {% if info %}
- <p class="search-info">{{ info }}</p>
- {% endif %}
- </div>
- </li>