tmukherjee13/yii2-socialshare

为 Yii2 框架提供的社交分享小部件

安装: 24

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 1

分支: 1

类型:yii2-extension

2.0.0 2019-09-26 09:31 UTC

This package is auto-updated.

Last update: 2024-09-28 22:28:51 UTC


README

此小部件添加了社交网络的分享链接。

Latest Stable Version Latest Unstable Version License

它支持以下社交网络

  • VK
  • Facebook
  • Twitter
  • Google+
  • LinkedIn
  • Pinterest
  • Telegram
  • Viber
  • WhatsApp
  • 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 - 此小部件添加了社交网络的链接