percipiolondon/craft-typesense

该包已被弃用且不再维护。作者建议使用 craftpulse/craft-typesense 包。

Craft 插件,与 Typesense 同步

安装次数2,058

依赖项: 0

建议者: 0

安全: 0

星标: 8

关注者: 3

分支: 1

开放问题: 7

类型:craft-plugin


README

Craft 插件,与 Typesense 同步。访问我们的 演示,查看 Craft Typesense 插件的实际效果。您可以阅读我们的 文档 来设置您的项目。需要更多帮助?请查看我们的博客文章 "使用 Typesense Cloud 和 JavaScript 设置 Typesense 插件"

Screenshot

需求

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

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并进入您的 Craft 项目

     cd /path/to/project
    
  2. 然后告诉 Composer 加载插件

     composer require percipiolondon/typesense
    
  3. 在控制面板中,转到设置 → 插件,并点击 Typesense 的“安装”按钮。

Typesense 概述

设置好想要创建索引的配置文件后,您可以在添加/编辑/删除元素后立即开始同步。如果想要同步所有内容,您可以在控制面板中的 Typesense 部分,进入“集合”并同步所有内容。

配置 Typesense

将 config.php 复制并粘贴到您自己的配置文件夹中,并将其命名为 typesense.php。添加您的索引、想要附加的字段以及相应的查询,然后开始设置。以下是一个关于博客部分的示例

'collections' => [
    // CONTENT
    \percipiolondon\typesense\TypesenseCollectionIndex::create(
        [
            'name' => 'blog',
            'section' => 'blog.blog', //section handle + entry type handle
            'fields' => [
                [
                    'name' => 'title',
                    'type' => 'string',
                    'sort' => true,
                ],
                [
                    'name' => 'slug',
                    'type' => 'string',
                    'facet' => true
                ],
                [
                    'name' => 'handle',
                    'type' => 'string',
                ],
                [
                    'name' => 'post_date_timestamp',
                    'type' => 'int32',
                ],
            ],
            'default_sorting_field' => 'post_date_timestamp', // can only be an integer,
            'resolver' => static function(\craft\elements\Entry $entry) {
                return [
                    'id' => (string)$entry->id,
                    'title' => $entry->title,
                    'handle' => $entry->section->handle,
                    'slug' => $entry->slug,
                    'post_date_timestamp' => (int)$entry->postDate->format('U')
                ];
            }
        ]
    )
        ->elementType(\craft\elements\Entry::class)
        ->criteria(function(\craft\elements\db\EntryQuery $query) {
            return $query->section('blog');
        }),
]

默认情况下,Craft CMS 在计划发布的帖子发布后不会触发更新状态的事件。因此,我们提供了一个控制台命令,您可以将其附加到 cron 任务中。该命令会检查是否有今天计划发布的条目,并且在该日期之后尚未更新

./craft typesense/default/update-scheduled-posts

使用 Typesense

-此处插入文本-

Typesense 路线图

一些待办事项和潜在功能的想法

  • 发布

percipiolondon 提供