andre1ka / yii2-social-share
Yii2 社交链接分享扩展
Requires
- php: >= 5.4
- bower-asset/bootstrap-social: ~4.0
- yiisoft/yii2: 2.*
README
Yii2 社交链接分享
使用 Bootstrap Social 和 Font Awesome 构建,这两个都是非常酷的项目!请记住,这是一个正在进行中的作品。
安装
推荐的安装方式是通过 composer
composer require --prefer-dist andre1ka/yii2-social-share "dev-master"
或者在 composer.json 中添加
"andre1ka/yii2-social-share": "dev-master"
示例用法
use andre1ka\social\share\Share;
默认情况下,您可以不配置任何参数运行小部件
echo Share::widget();
这将生成一个无序列表 "ul" 标签,如下所示
<ul> <li><a>....</a></li> <li><a>....</a></li> <li><a>....</a></li> </ul>
更改小部件布局
echo Share::widget([ 'type' => 'small', 'tag' => 'div', 'template' => '<div>{button}</div>', ]);
输出结果将类似于
<div> <div><a> .... </a></div> <div><a> .... </a></div> <div><a> .... </a></div> </div>
共享的 URL
默认情况下,小部件将 URL 设置为当前路由,您可以通过使用 "url" 属性按需更改。
echo Share::widget([ 'url' => 'http://www.domain.com', ]);
或者
echo Share::widget([ 'url' => Url::to(['site/index'] , TRUE), ]);
别忘了要求包含辅助库 Url,并使用方法的第二个参数为页面的完整 URL。
use yii\helpers\Url;
共享数据
默认情况下,小部件仅传递 URL 给社交网络。某些网络(例如 Pinterest)允许传递标题、描述和图像。您可以通过使用 "title"、"description" 或 "image" 属性按需更改。
echo Share::widget([ 'title' => 'Some title', 'description' => 'Some description', 'image' => '/path-to-some-image.jpg', ]);
主容器的属性
您可以使用 htmlOptions 属性添加或更改主容器的属性。默认情况下,主容器具有一个类似于 #w0 的 id 属性,您可以根据需要更改它。
echo Share::widget([ 'htmlOptions' => [ 'id' => 'new-id', 'class' => 'my-class', ], ]);
小部件按钮类型
小部件提供三种类型的按钮:超小(仅小图标)、小(仅图标)和大(图标+文本)
echo Share::widget([ 'type' => Share::TYPE_EXTRA_SMALL
echo Share::widget([ 'type' => Share::TYPE_SMALL ]);
echo Share::widget([ 'type' => Share::TYPE_LARGE ]);
大按钮的默认文本为 "在NETWORK上分享",其中 NETWORK 是社交网络名称,例如:Facebook。您可以通过使用小部件的 "text" 属性更改默认文本。
echo Share::widget([ 'text' => 'Click to share on {network}', ]);
网络
目前,小部件提供了 6 个按钮:Facebook Google Plus Twitter Pinterest Linkedin Vk odnoklassniki
仅包含一些网络
由于某种原因,您可能需要仅包含一些网络。为了做到这一点,您可以使用小部件的 "include" 属性
echo Share::widget([ 'include' => ['network1', 'network2'] ]);
呈现的社交网络将按照您放置的顺序显示。
排除某些网络
由于某种原因,您可能需要排除一个或多个网络。为了做到这一点,您可以使用小部件的 "exclude" 属性
echo Share::widget([ 'exclude' => ['network1', 'network2'] ]);
添加 utm 标记
对于企业应用程序,您通常需要添加 UTM 标记以进行分析。
// add by default echo Share::widget([ 'addUtm' => true, ]); // little customization echo Share::widget([ 'addUtm' => true, // necessary flag 'utmMedium' => 'social_share', 'utmCampaign' => 'viral_retention', ]);
贡献
欢迎贡献,只需 fork 修改并提交 pull request。