整合具有隐私保护的 Shariff 社交按钮
Requires
- php: ^7.4 || ^8.0
- guzzlehttp/psr7: ^1.8.4 || ^2.1.1
- heise/shariff: ^10.0
- neos/neos: ^5.3 || ^7.0 || ^8.0
- neos/utility-files: ^6.3 || ^7.0 || ^8.0
README
如今,每个页面上都有社交插件,但如果您对访客的隐私有顾虑,整合它们并非易事。德国出版商 Heise 创建了一个通用解决方案,允许在保护网站访客隐私的同时显示每个分享的计数。这是通过使用网站的服务器作为访客的代理来实现的。 http://ct.de/-2467514
此插件通过几个简单步骤将 Shariff 集成到 Neos。
安装
$ composer require networkteam/neos-shariff
兼容性
请参阅以下表格以选择正确的插件版本
配置
在 Settings.yaml
中配置要显示的服务列表(例如,在您的站点包中)
Networkteam:
Neos:
Shariff:
options:
services:
- WhatsApp
- Twitter
- Facebook
- Pinterest
- Mail
有关可能的选项的更多信息,请参阅 Configuration/Settings.yaml
用法
作为内容元素
此包包含一个简单的节点类型 Networkteam.Neos.Shariff:Shariff
,它通过 Shariff 渲染社交分享按钮。只需在 Neos 后端文档中添加一个新的此类型节点即可。
通过 Fusion 使用
在您的原型中定义一个渲染社交插件如下所示的属性
prototype(My.Awesome.Package:Post) {
socialButtons = Networkteam.Neos.Shariff:Shariff
}
然后在相应的模板中按此方式渲染路径
{socialButtons -> f:format.raw()}
配置
Shariff 通过 data-attributes 进行配置。这些属性的基本集合已由包设置定义。
data-backend-url
data-services
data-theme
data-orientation
data-lang
您可以在 settings.yaml 中覆盖它们。
Networkteam:
Neos:
Shariff:
frontend:
theme: standard
orientation: horizontal
language: en
options:
domain: ~
cache:
ttl: 3600
services:
# - Facebook
# - Twitter
# - LinkedIn
# - Reddit
# - StumbleUpon
# - Flattr
# - Pinterest
# - Xing
如果您想扩展配置,只需这样做
prototype(Networkteam.Neos.Shariff:Shariff) {
attributes {
// Put additional attributes here, see https://github.com/heiseonline/shariff#options-data-attributes
// data-example = 'value'
}
}
使用 Pinterest
为了在 Shariff 中使用 "Pin it" 按钮,Pinterest 不会自动抓取您页面的图片。您必须使用 "data-media-url" 属性定义一个。因此,只需扩展 prototype(Networkteam.Neos.Shariff:Shariff)
并使用当前文档节点中的 twitterCardImage 属性等来提供合适的图片。
开发
当您发布新版本时,请确保运行 npm run-script build
。这将更新 Shariff 包并将资产复制到公共文件夹。在构建后检查修改后的文件。
致谢
Neos 集成的开发由 networkteam GmbH - Neos Agentur 赞助。
许可
在 GPLv2+ 许可下发布,请参阅 LICENSE。