- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Algolia InstantSearch js 库和 PHP 客户端,我希望将 InstantSearch urlSync 创建的查询字符串传递到 PHP 库的搜索方法中。有没有方便的方法来执行此操作,还是我必须自己将查询字符串转换为库期望的参数?
例如,我有字符串:
?q=&hPP=1000&idx=myindex&p=0&dFR%5Bcolor%5D%5B0%5D=orange&is_v=1
理想情况下我愿意
$client = new \AlgoliaSearch\Client("x", "x");
$index = $client->initIndex($_GET['idx']);
parse_str($_SERVER['QUERY_STRING'], $params);
$res = $index->search('', $params);
但这样做会引发错误,即传递的参数中存在意外属性。
最佳答案
不幸的是,使用 Algolia 客户端确实无法在后端重用即时搜索 URL。我假设您是出于 SEO 目的而提出此问题,这绝对是有道理的。
目前唯一可以做到这一点的语言是 JavaScript。事实上,这个逻辑可以从 instantsearch.js
的底层库中提取:algoliasearch-helper-js
.
getStateFromQueryString
获得状态setState
将其状态设置为先前检索到的状态getQuery
method 您实际上可以在前端添加此逻辑,对该查询进行 URL 编码并将其设置在您将在后端解码的自定义参数中。这很难看,但它可以工作(尽管它可能不适合最大 URI 长度)。
在前端,您不必经历从 URL 中提取状态并将状态设置为新助手的过程,您可以简单地使用 search.helper
- search
是您的 instantsearch.js
实例。
关于javascript - 使用 Algolia,如何将 urlSync 创建的查询字符串传递到 php 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697335/
使用 Algolia InstantSearch js 库和 PHP 客户端,我希望将 InstantSearch urlSync 创建的查询字符串传递到 PHP 库的搜索方法中。有没有方便的方法来执
我是一名优秀的程序员,十分优秀!