承接 aerni/social-links 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aerni/social-links

Composer 安装命令:

composer require aerni/social-links

包简介

Easily generate Social Sharing Links

README 文档

README

This addon provides an easy way to create social profile and sharing links for channels like Facebook, Twitter and more.

Installation

Install the addon using Composer.

composer require aerni/social-links

Supported Channels

This addon supports the following social channels: Facebook, GitHub, Instagram, LinkedIn, Mail, Pinterest, Telegram, Twitter, Vimeo, WhatsApp, Xing, YouTube

Profile Link

Create a link to a social profile by providing the social channel and handle of the profile:

{{ social:profile channel="facebook" handle="michaelaerni" }}

Or using the shorthand:

{{ social:facebook:profile handle="michaelaerni" }}

Sharing Link

Create a sharing link by providing the social channel:

{{ social:share channel="facebook" }}

Or using the shorthand:

{{ social:facebook:share }}

Parameters

There are a number of parameters you may use to customize the sharing links:

Facebook

Name Description Usage
url The URL of the page to share Optional
text The text of your post Optional

LinkedIn

Name Description Usage
url The URL of the page to share Optional
title The title of your post Optional
text The text of your post Optional
source The source of your post Optional

Mail

Name Description Usage
url The URL of the page to share Optional
to The email address you want to send the email to Optional
cc The email address to CC Optional
bcc The email address to BCC Optional
subject The subject of the email Optional
body The body of the email Optional

The url will be placed in the body of the email by default. You can customize the email body text by using the body parameter. Note, that this will override the default body text that includes the url. You will have to manually add the url in the body parameter like so:

{{ social:mail:share body="I want to share this great site with you: {permalink}" }}

Pinterest

Name Description Usage
url The URL of the page to share Optional
image The image to share Optional

Telegram

Name Description Usage
url The URL of the page to share Optional
text The description of your shared page Optional

Twitter

Name Description Usage
url The URL of the page to share Optional
text The text of your Tweet Optional
handle The twitter handle you want to add to the Tweet Optional

WhatsApp

Name Description Usage
url The URL of the page to share Optional

Xing

Name Description Usage
url The URL of the page to share Optional

Channel Name

Get the name of a social channel:

{{ social:name channel="facebook" }}

Or using the shorthand:

{{ social:facebook:name }}

Tag Pair

You may also use a tag pair to get all the data at once:

{{ social channel="facebook" handle="michaelaerni" }}
  {{ profile }}
  {{ share }}
  {{ name }}
{{ /social }}

Or using the shorthand:

{{ social:facebook handle="michaelaerni" }}
  {{ profile }}
  {{ share }}
  {{ name }}
{{ /social:facebook }}`

Extending

You can register your own custom channels in two ways.

Creating a Custom Channel

Create a class that extends BaseChannel. A channel can support profile links, share links, or both. All params passed to the Antlers tag are available in the channel via $this->params->get('param_name').

Profile Channels

To support profile links, set the $profileBaseUrl property. The profile URL is built by appending the handle param to the base URL. The handle param must be provided on the Antlers tag.

Property/Method Description
$profileBaseUrl The base URL for profile links.
use Aerni\SocialLinks\Channels\BaseChannel;

class Mastodon extends BaseChannel
{
    protected string $profileBaseUrl = 'https://mastodon.social';
}

Share Channels

To support share links, set the $shareBaseUrl property and override shareUrlParams() to define the query parameters for the share URL. The url param defaults to the current page URL if not explicitly provided on the Antlers tag.

Property/Method Description
$shareBaseUrl The base URL for share links.
shareUrlParams() Override this method to define the query parameters for the share URL. Must return an array.
$encodeShareUrlQuery Whether to URL-encode the share URL query string. Defaults to true. Set to false for channels like Mail that need raw URLs.
use Aerni\SocialLinks\Channels\BaseChannel;

class Reddit extends BaseChannel
{
    protected string $shareBaseUrl = 'https://www.reddit.com/submit';

    protected function shareUrlParams(): array
    {
        return [
            'url' => $this->params->get('url'),
            'title' => $this->params->get('title'),
        ];
    }
}

If you need dynamic logic for the base URL, override the profileBaseUrl() or shareBaseUrl() method instead of using the property.

Registering via Config

Publish the config file and add your channel class to the channels array in config/social-links.php:

return [
    'channels' => [
        App\Channels\Mastodon::class,
    ],
];

Registering Programmatically

Register a channel from a service provider's boot() method:

use App\Channels\Mastodon;

public function boot(): void
{
    Mastodon::register();
}

统计信息

  • 总下载量: 37.91k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-07-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固