tmukherjee13 / yii2-socialshare
为 Yii2 框架提供的社交分享小部件
2.0.0
2019-09-26 09:31 UTC
Requires
- yiisoft/yii2: >=2.0.4
README
此小部件添加了社交网络的分享链接。
它支持以下社交网络
- VK
- Google+
- Telegram
- Viber
- Gmail
安装
运行命令
composer require tmukherjee13/yii2-socialshare
或将其添加到 composer.json 的 require 部分。
"tmukherjee13/yii2-socialshare": "1.*"
将 'SocialShare' 组件添加到应用程序配置中
在此组件中,您需要添加并配置社交网络类
'components' => [ // ... 'socialShare' => [ 'class' => bl\socialShare\SocialShare::className(), 'defaultIcons' => true, 'attributes' => [ 'class' => 'social-btn' ], 'networks' => [ 'facebook' => [ 'class' => bl\socialShare\classes\Facebook::className(), 'label' => 'Facebook' ], 'twitter' => [ 'class' => bl\socialShare\classes\Twitter::className(), 'label' => 'Twitter', // custom option for Twitter class 'account' => 'twitterAccount' ], 'googlePlus' => [ 'class' => bl\socialShare\classes\GooglePlus::className(), 'label' => 'Google+' ], 'vk' => [ 'class' => bl\socialShare\classes\Vkontakte::className(), 'label' => 'vk' ], // other social networks ... ] ], ]
组件配置属性
社交网络类配置属性
使用方法
您应该在页面上添加分享链接时使用此小部件
小部件配置属性
<?= \bl\socialShare\widgets\SocialShareWidget::widget([ 'componentId' => 'socialShare', 'url' => Url::toRoute(['site/index'], true), 'title' => 'Black Lamp - digital agancy', 'description' => 'Black Lamp provides a comprehensive range of services for development...', 'image' => Url::toRoute(['/logo.png'], true) ]) ?>
如果我想添加新的社交网络怎么办?
您必须创建类并从 bl\socialShare\base\SocialNetwork 抽象类继承
并实现 getLink() 方法
use bl\socialShare\base\SocialNetwork; class LinkedIn extends SocialNetwork { }
此方法必须初始化到社交网络的路径并返回带有 $component
参数的 initLink()
方法
class LinkedIn extends bl\socialShare\base\SocialNetwork { /** * @inheritdoc */ public function getLink($url, $title, $description, $image, $component) { } }
此方法必须初始化到社交网络的路径并返回带有 $component
参数的 initLink()
方法
/** * @inheritdoc */ public function getLink($url, $title, $description, $image, $component) { $this->_route = "https://www.linkedin.com/shareArticle?mini=true" ."&url=$url" ."&title=$title" ."&summary=$description"; return $this->initLink($component); }
更新
此分支修复了使用 Object 作为类名冲突的问题,因为在 PHP 7.2 中 Object 是保留关键字。
其他扩展
yii2-social-networks - 此小部件添加了社交网络的链接