drupal - search_api - 访客页面和内部页面
问题描述
有人提示如何在 Drupal 8.8 站点上进行两种不同的搜索吗?
这意味着,如果客人使用搜索,则结果中应仅列出 page 和 article 类型的页面。如果经过身份验证的用户使用搜索,则任何类型的所有页面都应在结果中列出。
在search_api的模块描述中可以看到:
一般来说,搜索 API 不提供任何类型的访问限制(因为这不能在通用级别上完成)。因此,您有责任注意仅对可访问的项目进行索引或显示结果(例如,通过使用适当的过滤器)。
我理解这一点的方式是,在索引时可以排除内容,但在呈现时不能。
解决方案
您可以创建 2 个搜索 API 视图,并使用过滤器授予每个对相关角色或权限的访问权限,以限制匿名用户视图中的节点类型。如果唯一的区别是对节点类型的访问,那么您可以只为两个视图使用一个搜索 API 索引。
推荐阅读
- javascript - 用于 setState 的 React Hooks
- arrays - 世博会地点中的城市位置反应原生
- ios - swift ui 无法保持正常大小写,强制转换为大写
- android - Android导航组件中的重复FragmentContainerView
- pandas - 除了某些行之外,熊猫数据框的差异?
- python - 为熊猫数据框记录断言附加参数
- jquery - Webpack x Symfony 5 - 未定义 JQuery
- python - 跨多个模型的 SQLAlchemy 模型约束
- html - Angular 10,Modal 在单击第二个对象之前不显示适当的数据
- python - ipysheet.sheet 转换为 DataFrame 并保存已完成的手动更改