fruitstudios/searchit

在Craft CMS控制面板中配置强大的自定义过滤器,以增强搜索体验。

1.0.8 2019-05-16 11:04 UTC

This package is auto-updated.

Last update: 2024-09-16 23:46:06 UTC


README

Searchit

Craft CMS 3的Searchit插件

在Craft CMS控制面板中配置强大的自定义过滤器,以增强搜索体验。利用twig和元素查询的力量,创建无尽的过滤选项。让您的客户满意!

看看它的实际效果...

Searchit Promo Video

要求

此插件需要Craft CMS 3.1.2或更高版本。

安装

插件商店

登录您的控制面板,点击“插件商店”,搜索此插件并安装。

Composer

打开终端,转到您的Craft项目文件夹,并使用composer加载此插件。加载完成后,您可以通过Craft控制面板进行安装,转到设置→插件,找到插件并点击“安装”。

cd /path/to/project
composer require fruitstudios/searchit

创建过滤器

过滤器可以是手动或动态生成的,由包含具有标签键(字符串)和过滤器键(字符串或有效JSON)的行的JSON数组组成。如果过滤器包含字符串,则它将传递该值到元素搜索上的“search”参数。如果您向过滤器传递JSON,则可以创建多个查询参数。

创建过滤器

New Filter

排序和预览

Configuration

您有两种设置过滤器的方式。手动或动态。

使用Twig(推荐)

您可以使用twig模板的优势来创建您的过滤器。例如,如果您想按作者筛选条目,则可以使用以下...

{% for user in craft.users.all() %}
    {{ ({
        filter: {
            authorId: user.id
        },
        label: user.fullName
    })|json_encode() }}{{ not loop.last ? ',' }}
{% endfor %}

这本质上创建了一个类似于以下...

{{ craft.entries.authorId(user.id).all() }}

使用JSON

创建有效的JSON数组以构建过滤器

{ "filter":"page 1", "label":"Page 1" },
{ "filter":"page 2", "label":"Page 2" },
{ "filter":"page 3", "label":"Page 3" },
{ "filter":"page 4", "label":"Page 4" }

由于过滤器值传递字符串,这本质上创建了一个类似于以下...

{{ craft.entries.search('page 1').all() }}

作为包含项

如果您更喜欢将代码保留在模板/repo中,则可以直接链接到模板。

{% include '_includes/filters/rooms' ignore missing %}

示例用法

以下是不同元素的不同过滤器的几个示例。可能性是无限的!

条目

为作者、日期、分类等创建过滤器。

示例:按作者筛选...

Entries

如何获取此过滤器...

{% for user in craft.users.all() %}
    {{ ({
        filter: {
            authorId: user.id
        },
        label: user.fullName
    })|json_encode() }}{{ not loop.last ? ',' }}
{% endfor %}

分类

创建按层次结构缩小分类的过滤器。

示例:按顶级分类筛选...

Categories

如何获取此过滤器...

{% for category in craft.categories.group(‘alcoholicDrinks’).level(1).all() %}
   {{ ({
       filter: {
           descendantOf: category.id
       },
       label: category.title
   })|json_encode() }}{{ not loop.last ? ‘,’ }}
{% endfor %}

资产

为文件类型、扩展名等创建过滤器。

示例:按文件类型和扩展名筛选...

Assets

如何获取这些过滤器...

类型过滤器

{ "filter":"kind:compressed", "label":"Zip" },
{ "filter":"kind:image", "label":"Images" }

扩展名过滤器

{ "filter":"extension:jpg", "label":"JPG" },
{ "filter":"extension:png", "label":"PNG" },
{ "filter":"extension:gif", "label":"GIF" }

路线图

即将推出Commerce支持

有用资源

Craft CMS搜索文档 文档

与常规Craft搜索一样,如果怀疑您的搜索索引没有最新的最佳数据,您可以使用设置中的重建搜索索引工具来让Craft重新构建它们。 文档

FRUIT 提供