bigpaulie / 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 bigpaulie/yii2-social-share "dev-master"
或者添加到 composer.json 中
"bigpaulie/yii2-social-share": "dev-master"
示例用法
use bigpaulie\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', ]);
贡献
欢迎贡献,只需分支、修改并提交拉取请求即可。