andre1ka/yii2-social-share

Yii2 社交链接分享扩展

v1.2 2018-04-01 07:49 UTC

This package is auto-updated.

Last update: 2024-09-24 21:26:01 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Yii2 社交链接分享

使用 Bootstrap SocialFont 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。