coveo-1.0.0-alpha1/modules/coveo_atomic/templates/coveo-atomic-search.html.twig

modules/coveo_atomic/templates/coveo-atomic-search.html.twig
{#
/**
 * @file
 * Default theme implementation for Coveo atomic search.
 *
 * Available variables:
 * - fields: A list of fields to include for result templates.
 * - facets: A list of structured objects describing main facet listing.
 * - tabs: A list of structured objects describing and tabs.
 *
 * @see template_preprocess_coveo_atomic_search
 *
 * Overall layout structure: https://docs.coveo.com/en/atomic/latest/usage/layouts/
 * Result layout structure: https://docs.coveo.com/en/atomic/latest/usage/displaying-results/result-sections/
 *
 * Look at max-height on atomic-result-section-excerpt to resolve line overflow problem. Something is
 * wrong with the calculation of this property and excerpts don't display correctly out of the box.
 *
 * @ingroup themeable
 */
#}

{# List of fields Coveo should include for result templates. #}
{# Example:
{% set facets = [
  {
    attributes: create_attribute({
      field: "drpl_type",
      label: "Type",
      'aria-label': "Facet for filtering by content type",
    })
  },
  {
    type: "category",
    attributes: create_attribute({
      field: "drpl_topic",
      label: "Topics",
      'aria-label': "Facet for filtering by topics",
    })
  }
] %}
#}
{# Example:
{#
{% set tabs = [
  {
    attributes: create_attribute({
    name: "all",
    label: "All",
    tooltip: "View all",
    'is-active': "true",
    'aria-label': "View all content",
    id: "all",
  })
  },
] %}
#}

<atomic-aria-live></atomic-aria-live>
<atomic-search-interface id="{{ id }}" fields-to-include='{{ fields|atomic_fields(search) }}'>
  <atomic-search-layout>
    {% block search_section %}
      {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {atomic_section: "search"} %}
        {% block content %}
          {% if tabs %}
            {% block tab_section %}
              <atomic-tab-manager>
                {% for tab in tabs %}
                  {% include '@coveo_atomic/atomic/atomic-tab.twig' with tab only %}
                {% endfor %}
              </atomic-tab-manager>
            {% endblock %}
          {% endif %}
          <atomic-search-box aria-label="{{ 'Search content'|t }}" placeholder="{{ 'Search...'|t }}"></atomic-search-box>
        {% endblock %}
      {% endembed %}
    {% endblock %}


    {% if facets %}
      {% set facet_section %}
        {% block facet_section %}
          {# @see https://docs.coveo.com/en/atomic/latest/reference/components/atomic-facet-manager/ #}
          <atomic-facet-manager>
            {% for facet in facets %}
              {% include '@coveo_atomic/atomic/atomic-facet.twig' with facet only %}
            {% endfor %}
          </atomic-facet-manager>
        {% endblock %}
      {% endset %}

      {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {atomic_section: "facets", facet_section: facet_section} only %}
        {% block content %}
          {{ facet_section }}
        {% endblock %}
      {% endembed %}
    {% endif %}

    {% set status_section %}
      {% block status_section %}
        {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {atomic_section: "status"} %}
          {% block content %}
            <atomic-notifications></atomic-notifications>
            <atomic-query-summary></atomic-query-summary>
            <atomic-smart-snippet></atomic-smart-snippet>

            <atomic-sort-dropdown>
              <atomic-sort-expression label="Relevance" expression="relevancy"></atomic-sort-expression>
              <atomic-sort-expression label="Newest" expression="date descending"></atomic-sort-expression>
            </atomic-sort-dropdown>
            {# If you leave off this component, coveo will not detect spelling errors. #}
            <atomic-did-you-mean></atomic-did-you-mean>
          {% endblock %}
        {% endembed %}
      {% endblock %}
    {% endset %}
    {% set results_section %}
      {% block results_section %}
        {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {atomic_section: "results"} %}
          {% block content %}
            <atomic-generated-answer></atomic-generated-answer>
            <atomic-result-list>
              <atomic-result-template>
                <template>
                  <atomic-result-section-title>
                    <atomic-result-link></atomic-result-link>
                  </atomic-result-section-title>
                  {# <atomic-result-section-visual image-size="small"></atomic-result-section-visual> #}
                  <atomic-result-section-title-metadata>
                    <atomic-result-fields-list>
                      <atomic-result-date field="date" format="MMMM D, YYYY"></atomic-result-date>
                    </atomic-result-fields-list>
                  </atomic-result-section-title-metadata>
                  <atomic-result-section-excerpt>
                    <atomic-result-text field="excerpt"></atomic-result-text>
                  </atomic-result-section-excerpt>
                  {# <atomic-result-section-bottom-metadata></atomic-result-section-bottom-metadata> #}
                </template>
              </atomic-result-template>
            </atomic-result-list>
            <atomic-query-error></atomic-query-error>
            <atomic-no-results></atomic-no-results>
          {% endblock %}
        {% endembed %}
      {% endblock %}
    {% endset %}
    {% set pagination_section %}
      {% block pagination_section %}
        {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {atomic_section: "pagination"} %}
          {% block content %}
            <atomic-pager></atomic-pager>
            <atomic-results-per-page choices-displayed="25,50" initial-choice="25"></atomic-results-per-page>
          {% endblock %}
        {% endembed %}
      {% endblock %}
    {% endset %}

    {% embed '@coveo_atomic/atomic/atomic-layout-section.twig' with {
      atomic_section: "main",
      status_section: status_section,
      results_section: results_section,
      pagination_section: pagination_section,
    } %}
      {% block content %}
        {{ status_section }}
        {{ results_section }}
        {{ pagination_section }}
        {# End main section. #}
      {% endblock %}
    {% endembed %}
  </atomic-search-layout>
</atomic-search-interface>

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc