A teaser component for displaying individual search results with metadata, snippet text, and optional images. Compatible with both Drupal core search and Search API.
Usage
Core Search Implementation
{{ include('dripyard_base:search-result-teaser', {
title: result_title,
href: result_url,
snippet: result_snippet,
author: author_name,
date: 'January 15, 2024',
content_type: 'Article',
title_attributes: title_attributes,
content_attributes: content_attributes,
title_prefix: title_prefix,
title_suffix: title_suffix
}, with_context = false) }}
Search API Implementation
{{ include('dripyard_base:search-result-teaser', {
title: fields.title.content,
href: entity_url,
snippet: fields.search_api_excerpt.content,
date: formatted_date,
content_type: content_type_label,
image: featured_image
}, with_context = false) }}
Props
Property
Type
Required
Description
title |
string |
Yes |
The title of the search result |
href |
string |
Yes |
URL link to the full content |
snippet |
string |
No |
Excerpt or summary text from the content |
author |
string |
No |
Author name for the content |
date |
string |
No |
Formatted publication date |
content_type |
string |
No |
The type of content (e.g., Article, Page) |
image |
object |
No |
Optional featured image for the result |
title_attributes |
object |
No |
HTML attributes for the title element |
content_attributes |
object |
No |
HTML attributes for content elements |
title_prefix |
string |
No |
Content to display before the title |
title_suffix |
string |
No |
Content to display after the title |
CSS Custom Properties
--search-result-teaser-gap - Spacing between teaser elements
Visual Layout
- Article structure: Uses semantic
<article> element
- Metadata header: Content type, author, and date information
- Title prominence: H3 heading with h4 styling for hierarchy
- Image float: Optional 150px wide image floated to text start
- Footer URL: Shows the result URL with hover effects
Content Structure
- Meta information: Content type, author (if available), and date
- Linked title: Clickable heading that leads to full content
- Snippet text: Excerpt with proper paragraph spacing
- Footer URL: Direct link display with hover interaction
Image Integration
- Float layout: Images float to the inline-start of content
- Fixed width: 150px width with responsive behavior
- Margin spacing: Uses component gap for consistent spacing
- Clear footer: Footer clears floated content
Accessibility Features
- Semantic markup: Uses
<article> for proper content structure
- Heading hierarchy: H3 element maintains document outline
- Link context: Clear link text and URL display
- Screen reader support: Proper markup structure for assistive technology
Search Integration
- Dual compatibility: Works with both core search and Search API
- Flexible data: Adapts to different data structures from search systems
- Template integration: Used in search-result.html.twig and Views templates