fritzmg / contao-facebook-gallery
Contao 扩展,可以将公共 Facebook 相册集成到常规 Contao 相册中。
Requires
- php: >=5.2
- contao-community-alliance/composer-plugin: ^2.4 || ^3.0
- contao/core-bundle: ^3.5 || ^4.4
- facebook/graph-sdk: ^5.7
- fritzmg/contao-facebook-js-sdk: ^3.1
Replaces
- contao-legacy/facebook_gallery: 1.5.1
README
Contao Facebook Gallery
简单扩展,允许通过相册内容元素集成 Facebook 相册。
用法
Facebook 应用
为了能够使用内容元素,您需要首先创建一个 Facebook 应用。然后您可以在 Contao 的系统设置或页面根设置中定义 Facebook 应用 ID 和 App 密钥。
专辑 ID
在内容元素中,您可以简单地提供 Facebook 专辑的 URL 或其 Facebook ID。如果提供专辑的 URL,如果可能的话,将从 URL 中自动提取专辑 ID。
访问令牌
重要:由于 Facebook API 在 2018 年的变化,您无法在没有有效访问令牌的情况下访问页面的公共专辑。否则,您必须提交 页面公共内容访问 应用权限以供审查。
因此,从版本 1.5.0
开始,您可以为每个专辑设置 Facebook 访问令牌。例如,您可以使用 这篇教程 了解如何创建一个永不失效的 Facebook 页面访问令牌。基本步骤如下
- 在 Facebook 的 Graph Explorer 中为您的 Facebook 应用创建用户访问令牌。 重要:您必须要求
manage_pages
和publish_pages
权限。否则,您将无法生成永不失效的访问令牌。 - 在 Facebook 的访问令牌调试器中调试和扩展访问令牌。
- 使用新的访问令牌在 Graph Explorer 中查询
/me/accounts
。 - 复制您想要从中提取专辑的页面的访问令牌并将其插入到内容元素中。
注意:创建此访问令牌的 Facebook 用户必须是 Facebook 应用的管理员或开发者,并且必须能够管理专辑的 Facebook 页面。
图片大小
您还可以定义图片的宽度和/或高度(将忽略图片大小模式) - 然而,这不会很精确。Facebook(通常)为专辑中的每张图片提供不同大小的图片 - 内容元素将尝试找到至少与给定的宽度和/或高度一样大的最小图片。因此,您可能需要通过 CSS 重新调整图片大小,以适应您的布局。或者更改 gallery_default
模板,并将给定的大小作为内联样式硬编码。
此外,还将为每个图片的可用分辨率创建一个 srcset。
排序选项
从版本 1.4.0
开始,有一个排序设置。请注意,由于 Facebook ID 较大,使用 ID
进行排序仅在使用 64 位 PHP 环境的系统上工作。
模板数据
对于画廊中的每张图片,都可以通过 $col->fbData
获取额外的数据。例如,$col->fbData->id
包含图片的 Facebook ID,而 $col->fbData->album->name
包含 Facebook 专辑的名称。从版本 1.5.0
开始,Facebook 数据还包含图片的 Facebook 链接。
注意
- 由于 Facebook Graph API 中的实现不足,无法显示 Facebook 群组的公共专辑。
- 目前,图片总是直接从Facebook链接,不会在本地缓存。
- Facebook Graph API数据在本地缓存,可以在系统维护中清除。
致谢
开发由Kosmopiloten资助。