【问题标题】:Drupal 8 - how to customise search result templateDrupal 8 - 如何自定义搜索结果模板
【发布时间】:2016-12-16 10:07:40
【问题描述】:

我有一个自定义内容类型,其中包含价格、产品摘要、产品图片等多个字段。有什么方法可以在搜索结果页面上单独访问这些字段?

我使用kint(item.value)mytheme/item-list.html.twig 上打印了渲染数组,这表明我只能分别访问titleurltype,如{{ item.value['#result'].url }}{{ item.value['#result'].title }}。但在渲染数组中看不到product_imageproduct_summary 等变量。

根据 Twig 模板建议,我需要覆盖的模板是 search-result.html.twig。所以我将/core/themes/stable/templates/content/search-result.html.twig 复制到我的主题文件夹中。但是,{{ snippet }} 变量没有我想要访问的信息。

我通过以下步骤自定义结果输出:

  1. 去了/admin/structure/types/manage/product/displayStructure > Content Types > Product > Manage Display)。打开Search IndexSearch result highlight input

  1. 导航到Search result highlight input 选项卡并添加(启用)两个字段产品摘要和产品价格

  1. 返回搜索结果,但我仍然看不到渲染数组中的那些变量。

有人可以告诉我完成上述任务的最佳方法吗?

【问题讨论】:

    标签: twig drupal-theming drupal-8


    【解决方案1】:

    @Subrata Sarkar 有一种选择。首先,从 drupal.org 安装两个模块 search_api 和 search_api_page 模块

    https://www.drupal.org/project/search_api

    https://www.drupal.org/project/search_api_page

    在搜索 api 中添加服务器和索引。 在索引中添加要在页面上显示的字段,并且在所有配置索引所有数据之后。

    在此之后创建和配置搜索页面。然后选择查看模式选项并选择查看模式例如:搜索结果突出显示输入或搜索索引等。

    希望您在搜索页面上得到您想要的结果。有关更多信息, https://www.youtube.com/watch?v=dNilEVQu94I

    【讨论】:

    • 感谢您的详细回答。我会尽快尝试您的建议,并尽快回复您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多