如何从灵活搜索中查询"Props" table?
How to query the "Props" table from Flexible Search?
在我的代码中,我有 Hybris 中某些页面组件的主键,我必须找到它们的所有属性(标题、内容等属性)
我可以使用 SQL 查询来查询 "Props" table,但我不确定如何在灵活搜索中找到等效项,因为直接查询数据库不是推荐。
是否有任何其他更简单的方法来检索只有主键的组件的所有属性?
您可以做的是使用主键检索所需的组件。示例:
select {pk} from {SimpleCMSComponent} where {pk} ='8796093056060'
DAO中通常使用灵活搜索类(平台示例:DefaultProductDao)。
当灵活搜索服务 运行 进行此灵活搜索时,您将获得一个 ComponentModel。请看下面我刚刚创建的 groovy 脚本,以举例说明如何打印基于其 PK 检索到的组件的 ID(以同样的方式使用 getters 你可以获得 title, 内容, 等等..):
import de.hybris.platform.cms2.model.contents.components.SimpleCMSComponentModel;
def flexibleSearchService = spring.getBean("flexibleSearchService");
SimpleCMSComponentModel simpleCmsComponent = flexibleSearchService.search("select {pk} from {SimpleCMSComponent} where {pk} ='8796093056060'").getResult().get(0);
println(simpleCmsComponent.getUid())
尽管我认为 CMS 组件的最佳实践是使用它们的 ID 而不是 PK。
在我的代码中,我有 Hybris 中某些页面组件的主键,我必须找到它们的所有属性(标题、内容等属性)
我可以使用 SQL 查询来查询 "Props" table,但我不确定如何在灵活搜索中找到等效项,因为直接查询数据库不是推荐。
是否有任何其他更简单的方法来检索只有主键的组件的所有属性?
您可以做的是使用主键检索所需的组件。示例:
select {pk} from {SimpleCMSComponent} where {pk} ='8796093056060'
DAO中通常使用灵活搜索类(平台示例:DefaultProductDao)。
当灵活搜索服务 运行 进行此灵活搜索时,您将获得一个 ComponentModel。请看下面我刚刚创建的 groovy 脚本,以举例说明如何打印基于其 PK 检索到的组件的 ID(以同样的方式使用 getters 你可以获得 title, 内容, 等等..):
import de.hybris.platform.cms2.model.contents.components.SimpleCMSComponentModel;
def flexibleSearchService = spring.getBean("flexibleSearchService");
SimpleCMSComponentModel simpleCmsComponent = flexibleSearchService.search("select {pk} from {SimpleCMSComponent} where {pk} ='8796093056060'").getResult().get(0);
println(simpleCmsComponent.getUid())
尽管我认为 CMS 组件的最佳实践是使用它们的 ID 而不是 PK。