Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Overview

The Featured Items Content Item component displays information for an individual product or page.

This component should only be used within the context of the Featured Items Content component.

Selector

The selector for this component is <hawksearch-featured-items-content-item>.

Data Model

The SearchResultsItem object is made available to the Handlebars template:

type SearchResultsItemType = 'content' | 'product';

interface SearchResultsItem {
    attributes?: {
        [key: string]: Array<string>;
    };
    description?: string;
    id: string;
    imageUrl?: string;
    pinned: boolean;
    price?: number;
    salePrice?: number;
    score: number;
    title: string;
    type: SearchResultsItemType;
    url: string;
    visible: boolean;
}

Event Binding Attributes

Attribute Name

Attribute Value

hawksearch-image

Image elements with this attribute will have their src value replaced with a placeholder image URL if the image fails to load.

Attribute Name

Attribute Value

hawksearch-link

Anchor elements with this attribute will be tracked when clicked.

Handlebars Helpers

Name

Parameter #1

Parameter #2

currency

string or Array<string> (value)

number (default value, optional)

number

string or Array<string> (value)

number (default value, optional)

string

string or Array<string> (value)

string (default value, optional)

These helper functions are intended to convert attributes from a Search Results Item, which are stored in arrays, into a format suited for presentation.

Default Template

<div class="featured-items-content__item featured-items-content__item--{{type}}">
    {{#if pinned}}
        <span class="featured-items-content__pin">
            <hawksearch-icon name="star"></hawksearch-icon>
        </span>
    {{/if}}
    {{#if (lt salePrice price)}}
        <span class="featured-items-content__sale-indicator">Sale</span>
    {{/if}}
    {{#if (eq type "product")}}
        <a hawksearch-link href="{{url}}" class="featured-items-content__item__image">
            <img hawksearch-image src="{{imageUrl}}" alt="" />
        </a>
    {{/if}}
    <div class="featured-items-content__item__title">
        <a hawksearch-link href="{{url}}">{{title}}</a>
    </div>
    {{#unless (eq salePrice undefined)}}
        <div class="featured-items-content__item__price">
            {{#if (lt salePrice price)}}
                <span class="featured-items-content__item__price__original">{{currency price 0}}</span>
                <span class="featured-items-content__item__price__current">{{currency salePrice 0}}</span>
            {{else}}
                <span class="featured-items-content__item__price-__current">{{currency salePrice 0}}</span>
            {{/if}}
        </div>
    {{/unless}}
</div>
  • No labels