Sulu:如何查询自定义实体类型?
Sulu: how to query custom entity type?
我已经定义了自定义实体类型“匹配”,它是后端可编辑的,一切都按预期工作。
现在我需要一种方法来查询该类型的内容。智能内容字段类型可以做到吗?我希望像这样的 xml 可以解决问题:
<property name="matches" type="smart_content">
<!-- @see https://docs.sulu.io/en/2.2/reference/content-types/smart_content.html -->
<meta>
<title lang="en">Matches</title>
<title lang="de">Streichhölzer</title>
</meta>
<params>
<param name="provider" value="lists"/>
<param name="types" value="matchevents"/>
<param name="max_per_page" value="5"/>
<param name="page_parameter" value="m"/>
</params>
</property>
但这并没有帮助。可以用“smart_content”字段类型来完成吗?我是 - 怎么样?如果否 - 实现该目标的最佳方法是什么?
您必须为您的实体创建自定义 DataProvider
,然后在 xml-定义中使用您的提供商。
因此您必须创建一个实现 DataProviderRepositoryInterface
的存储库。此存储库用于查询实体。
此外,您还必须创建实际的数据提供者服务。这个 class 应该从 BaseDataProvider
扩展,最后你必须使用标签 sulu.smart_content.data_provider
和别名来定义服务。
别名在 xml 文件中使用,例如
<property name="matches" type="smart_content">
<meta>
<title lang="en">Matches</title>
<title lang="de">Streichhölzer</title>
</meta>
<params>
<param name="provider" value="myCustomDataProviderAlias"/>
</params>
</property>
查看有关如何创建自定义数据提供程序的分步教程的文档。 https://docs.sulu.io/en/2.2/cookbook/smart-content-data-provider.html#how-to-create-a-custom-dataprovider
我已经定义了自定义实体类型“匹配”,它是后端可编辑的,一切都按预期工作。
现在我需要一种方法来查询该类型的内容。智能内容字段类型可以做到吗?我希望像这样的 xml 可以解决问题:
<property name="matches" type="smart_content">
<!-- @see https://docs.sulu.io/en/2.2/reference/content-types/smart_content.html -->
<meta>
<title lang="en">Matches</title>
<title lang="de">Streichhölzer</title>
</meta>
<params>
<param name="provider" value="lists"/>
<param name="types" value="matchevents"/>
<param name="max_per_page" value="5"/>
<param name="page_parameter" value="m"/>
</params>
</property>
但这并没有帮助。可以用“smart_content”字段类型来完成吗?我是 - 怎么样?如果否 - 实现该目标的最佳方法是什么?
您必须为您的实体创建自定义 DataProvider
,然后在 xml-定义中使用您的提供商。
因此您必须创建一个实现 DataProviderRepositoryInterface
的存储库。此存储库用于查询实体。
此外,您还必须创建实际的数据提供者服务。这个 class 应该从 BaseDataProvider
扩展,最后你必须使用标签 sulu.smart_content.data_provider
和别名来定义服务。
别名在 xml 文件中使用,例如
<property name="matches" type="smart_content">
<meta>
<title lang="en">Matches</title>
<title lang="de">Streichhölzer</title>
</meta>
<params>
<param name="provider" value="myCustomDataProviderAlias"/>
</params>
</property>
查看有关如何创建自定义数据提供程序的分步教程的文档。 https://docs.sulu.io/en/2.2/cookbook/smart-content-data-provider.html#how-to-create-a-custom-dataprovider