inspiredminds / contao-bayern-portal
Contao 扩展,用于在前端显示 BayernPortal 的数据。
Requires
- php: ^7.2 || ^8.0
- ext-intl: *
- contao/core-bundle: ^4.9.10
- symfony/http-client: ^4.4 || ^5.1
Requires (Dev)
README
此 Contao 扩展允许您通过其 REST API 集成 BayernPortal 的数据。
使用方法
配置
安装此扩展后,将在后台模块中创建一个名为 BayernPortal 的新模块,您可以在其中创建配置。每个配置需要一个名称和 BayernPortal API 的凭证。
前端模块
此扩展提供了 6 个不同的前端模块 - 一个用于 API 的每个“主要”实体类型,还有一些附加模块。
- 联系人 (Ansprechpartner)
- 机构 (Behörden)
- 部门 (Dienststellen)
- 部门服务 (Dienststelle Leistungen)
- 生活状况 (Lebenslagen)
- 服务 (Leistungen)
每个模块将列出从 API 获取的所有记录并提供详细信息链接。每个模块也能显示记录的详细信息。一些模块还能为某些实体类型定义重定向页面,以便相应地生成该实体详细视图的链接。
模板
对于大多数实体,都存在一个列表模板和一个详细模板。命名约定为 bayernportal_<entity-name>_<list-type>
- 因此,机构 (Behörden) 的列表元素模板将被命名为 bayernportal_behoerde_list
,其详细模板将被命名为 bayernportal_behoerde_detail
。您可以像通常一样覆盖这些模板的内容。对于模块本身,只有一个模板用于所有模块:mod_bayern_portal
。
在所有 BayernPortal 模板中,有两个特殊方法可用:$this->renderList()
和 $this->renderDetail()
。这些方法接受一个 API 实体作为参数,并将自动为该实体渲染列表视图或详细视图。请参阅默认模板以了解其用法。
缓存
此扩展利用了 Contao 内置的 HTTP 缓存,并根据页面上可见的元素标记响应。为了提高速度并减少对 API 的请求,应启用公共缓存以包含上述任何模块的页面。
但是,如果您想使缓存失效,以便显示 API 的新信息,您不需要使整个 HTTP 缓存失效。相反,此扩展在后台提供了一个额外的维护模块,您可以在其中使特定实体的缓存失效。例如,如果您更改了某些联系人(Ansprechpartner)的详细信息,您可以选择仅使显示联系人信息的相应页面失效。
归属
此扩展的开发由 Günzenhausen 市资助。