ahuggins/laravel-opensearch

快速为您的网站添加使用 OpenSearch 在 Chrome 地址栏中进行搜索的能力。就像您输入地址后按空格键,Chrome 会搜索该网站一样,这个包添加了这个功能。

0.0.1 2017-11-03 01:20 UTC

This package is auto-updated.

Last update: 2024-09-10 19:27:07 UTC


README

当您访问 Amazon.com 或 Google.com 时,您输入域名,按空格键,整个地址栏就会变成“搜索框”?如果您想在您的网站上添加这个功能,那么这个包会让它变得非常简单。

注意:在您将此包加载到您的网站上之前,应在 config/app.php 文件中设置您网站的“名称”。Google(以及其他搜索引擎)对您网站上的 opensearch.xml 文件(此包提供的内容之一)缓存得非常积极,因此更新可能需要一段时间。

没有 OpenSearch

2017-11-02 21 54 09

WITH OpenSearch

2017-11-02 21 57 50

注意:虽然“WITH” OpenSearch Gif 显示了一个“Whoops”,这仅仅是因为我的测试/示例网站没有“搜索”路由。请注意,url 也路由到了“可定制”的搜索路由。

安装

这个包是在 5.5 版本发布后制作的,这就是它构建的版本,所以我可以说它支持 Laravel 5.5+,但实际上它可能适用于 Laravel 5+。

composer require ahuggins/laravel-opensearch

注意,由于这个包是用 Laravel 5.5 制作的,它支持包自动发现,因此您不需要手动将 ServiceProvider 或 Alias 添加到 config/app.php 中。但以防万一,为了复制/粘贴

ServiceProvider

AHuggins\OpenSearch\Providers\OpenSearchServiceProvider::class,

Alias

'OpenSearch' => AHuggins\OpenSearch\Facades\OpenSearchFacade::class,

剩余设置

有一个您可能想定制的配置文件,要发布它,您需要执行

php artisan vendor:publish

这将在您的应用 config 文件夹中放置一个 opensearch.php 文件。

最后一部分

为了使此功能正常工作,您需要将以下内容添加到您的应用布局或基本 blade 文件的 <head> 部分

{!! OpenSearch::load() !!}

注意

此包不会向您的网站提供“搜索”功能。它只是使您能够添加 Chrome 从地址栏进行搜索的功能。您将不得不将路由连接到您的搜索路由/视图。

您可以使用提供的配置进行自定义(前提是您已发布它,见上文)。

// The config options

'search_route' => 'search',
'query_param' => 'q',
'description' => [
    'before_name' => 'Search',
    'after_name' => '',
],
'title' => 'Search Site',
'xml_route' => 'opensearch.xml',
'favicon' => [
    'type' => 'image/x-icon',
    'path' => 'favicon.ico',
]

search_route

这是您的实际应用的搜索路由,例如 yoururl.com/{yoursearchroute}

query_param

如果您使用除 q 之外的参数作为查询参数,请在此指定。

description

这用于“装饰”搜索框中的“网站名称”。

before_name

前置名称将放在网站名称之前。

注意:在您将此包加载到您的网站上之前,应在 config/app.php 文件中设置您网站的“名称”。Google(以及其他搜索引擎)对您网站上的 opensearch.xml 文件(此包提供的内容之一)缓存得非常积极,因此更新可能需要一段时间。

after_name

与前置名称类似,但这个名称将放在网站名称之后。

title

标题仅在 opensearch.xml 文件的链接输出中使用。您可以在头部部分(或您输出 ::load() 调用的任何地方)看到它。对于大多数网站,“搜索网站”应该是一个很好的默认值...但如果您想覆盖它,可以在 config/opensearch.xml 文件中使用此选项。

xml_route

如果您因某些原因需要从默认的 opensearch.xml 进行更改,请在此处进行。这基本上是搜索引擎为这个定义所寻找的内容。

favicon

请在下面指定favicon的路径和 type。通常,type 将会是 image/x-iconimage/png。只需确保您有适合相应类型favicon的正确类型即可。

目前此包只支持单个favicon,但此包也接受Pull Requests!(暗示暗示)