firesphere / social
简单的Silverstripe CMS包装器,可以将内容发布到Twitter和Facebook页面墙
Requires
This package is auto-updated.
Last update: 2020-12-21 02:25:23 UTC
README
=======================
介绍
这是一个简单的社交媒体分享器。它将使用所选社交媒体(目前仅限Twitter)的API发布内容。遵循设置中的说明以启用功能
维护者联系方式
- Simon "Sphere" Erkelens
github[at]casa-laguna[dot]net
功能
- 发布到Twitter。以下是从我的
silverstripe-newsmodule
中取出的示例代码
<?php public function onAfterWrite(){ parent::onAfterWrite(); $siteConfig = SiteConfig::current_site_config(); /** * This is related to another module of mine. * Check it at my repos: Silverstripe-Social. * It auto-tweets your new Newsitem. If the TwitterController exists ofcourse. * You can do a lot of different configs here, but I strongly suggest to include the "Tweeted" boolean in your $db declaration. * Otherwise, you might tweet everytime you change something, which can get quite annoying ;) */ if($this->Live && !$this->Tweeted && $siteConfig->TweetOnPost){ if(class_exists('TwitterController')){ TwitterController::postTweet($this->Title, $this->AbsoluteLink()); $this->Tweeted = true; $this->write(); } } }
对于Facebook,我在page.php中使用了这个测试函数,并通过mydomain.com/home/testFacebook调用它
<?php public function testFacebook(){ FacebookController::postFacebook('New Message, hooray!'); }
请帮助我测试!
不足之处
- 支持所有用户,而不仅仅是单个账户
- 还有更多
要求
当模块尝试发布时,用户必须登录到Facebook。
安装
如果您没有github账户,只需下载
- 点击顶部的“ZIP”按钮。
- 将ZIP文件解压缩到您的站点根目录
- 在浏览器中运行 -
www.example.com/dev/build
以重建数据库。
另一种选择是将仓库克隆到您的站点根目录
- 在您的站点根目录中,执行
git clone https://github.com/Firesphere/silverstripe-social.git
。 - 在浏览器中运行 -
www.example.com/dev/build
以重建数据库。
尽管如此,如果您能分支并克隆,我将非常高兴,因为如果您这样做,您可以通过添加功能和发出pull请求来帮助我改进此模块!
- 为该模块创建一个分支。
- 在您的站点根目录中,执行
git clone https://{your username}@github.com/{your username}/silverstripe-social.git
。 - 在浏览器中运行 -
www.example.com/dev/build
以重建数据库。
注意,分支不是必需的,但如果您想帮忙,这会很有用。
安装后,设置您希望使用的社交网络的应用程序。对于Twitter,请访问:https://dev.twitter.com
设置应用程序将为您提供消费者密钥/密钥组合。将其设置在您的站点配置中,然后您就可以使用了。
对于Facebook,需要几个额外步骤,很遗憾。以下是步骤
- 在
https://developers.facebook.com
创建一个新应用程序 - 在“选择您的应用程序如何与Facebook集成”下选择具有Facebook登录的网站,并将URL设置为http://yoursi.te/FacebookController/callback/
- 将AppID、密钥和API密钥复制到CMS中的相应字段
- 确保您是您想要发布到的页面的管理员。
- 获取页面ID。这个有点难,谷歌搜索一下,因为我没有太多的空间。
- 登录并查看发生了什么。
我已经明确不包括我自己的密钥在这个模块中,因为这不必要,创建您自己的更好;)任何问题最好通过github issues方式提出。
请请请务必在您的页面/模型中包含一个布尔值,用于检查特定的模型/页面是否已经发布到Facebook。如果您忘记了,您将陷入无限循环,并且需要从Facebook中删除大量无用的链接!示例可以在我的newsmodule git仓库中找到。
配置
- 在SiteConfig中,设置您希望在选项卡中使用的期望配置。
最佳实践
如果您将Facebook连接到Twitter,不要同时在Facebook和Twitter上发布!Twitter会拒绝您的消息,因为它是一个重复的消息!
备注
- 您的“使用Twitter登录”按钮看起来很难看!
是的,我知道。对不起。
计划
- 集成Facebook OAuth。
- 集成Pinterest。
- 集成Google+(短期内不会发生。目前G+ API是封闭的API)
- 多用户支持。
请求
- 改进。
- 翻译。
其他
- 本模块是“原样”提供的,我对它可能对您的头脑、狗、猫、房子、电脑或网站造成的任何损害不承担责任。
- 代码注释不应过于认真,因为我写严肃的代码注释很差。
- 请使用问题跟踪器,否则我也会迷失方向。
实际许可
本模块在BSD 2-clause许可下发布,尽管这些许可不适用于实际类,但许可仍然适用
https://open-source.org.cn/licenses/BSD-2-Clause
版权(c)2013,Simon "Sphere" Erkelens
版权所有。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制代码,无论是否修改:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
本软件由版权所有者和贡献者“原样”提供,并明确或暗示地放弃了包括但不限于默示的适销性和对特定目的适用性的保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论何种原因,也不论基于何种理论(包括疏忽或任何其他侵权行为),即使已通知本软件可能存在此类损害。
(我本不应该大喊的,对吧?这是从BSD-2许可证中复制粘贴的...)