drmonkeyninja/cakephp-social-share

CakePHP 的辅助工具,用于创建社交分享/书签链接

安装数: 100,713

依赖项: 0

建议者: 0

安全: 0

星标: 31

关注者: 8

分支: 11

公开问题: 2

类型:cakephp-plugin

4.0.0 2020-07-27 20:11 UTC

README

Latest Stable Version License Build Status Total Downloads

此插件提供 CakePHP 视图辅助工具,用于创建在多个社交网络和书签网站上分享内容的链接。

插件的目标是保持简单。它不包含任何 JavaScript,我将设计决策留给您。您可以选择是否要使用文本、图像、精灵或图标字体来创建您的链接。

社交分享目前支持 Delicious、Digg、Evernote、Facebook、Friend Feed、Google Bookmarks、Google+、LinkedIn、Newsvine、Pinterest、Pocket、Reddit Slashdot、简单电子邮件、StumbleUpon、Technorati、Tumblr、Twitter 和 WhatsApp。

注意:此分支适用于 CakePHP 4.x。

安装

使用 composer 安装: composer require drmonkeyninja/cakephp-social-share:4.*

然后在您的 Application.php 文件中添加以下行以加载插件。

$this->addPlugin(\SocialShare\Plugin::class);

也不要忘记在您的 AppView 中添加辅助工具:-

$this->loadHelper('SocialShare.SocialShare');

使用

SocialShareHelper::link()

SocialShareHelper::link(string $service, string $title, mixed $url = null, array $options = [])

返回一个 HTML 链接,用于分享当前页面为提供的服务。例如,要创建 Facebook 的链接:-

echo $this->SocialShare->link(
    'facebook',
    __('Share on Facebook')
);

您可以轻松地生成一个链接列表,以分享到不同的社交网络:-

$services = [
    'facebook' => __('Share on Facebook'),
    'gplus' => __('Share on Google+'),
    'linkedin' => __('Share on LinkedIn'),
    'twitter' => __('Share on Twitter')
];

echo '<ul>';
foreach ($services as $service => $linkText) {
    echo '<li>' . $this->SocialShare->link(
        $service,
        $linkText
    ) . '</li>';
}
echo '</ul>';

支持的服务:-

  • delicious
  • digg
  • email
  • evernote
  • facebook
  • friendfeed
  • google (Google Bookmarks)
  • gplus (Google+)
  • linkedin
  • newsvine
  • pinterest
  • pocket
  • reddit
  • slashdot
  • stumbleupon
  • technorati
  • tumblr
  • twitter
  • whatsapp

您可以将 URL 或路由数组作为您想要分享的 URL 的第三个参数传递。

$options 支持与 HtmlHelper::link() 相同的选项,以及一个 'text' 选项,用于包含当分享 URL 时的页面标题。对于 Pinterest,还有一个额外的 'image' 选项,用于分享图像的 URL。

SocialShareHelper::href()

SocialShareHelper::href(string $service, mixed $url = null, array $options = [])

返回一个分享到提供服务的 URL。

SocialShareHelper::fa()

SocialShareHelper::fa(string $service, mixed $url = null, array $options = [])

返回一个类似于 SocialShare::link() 的 HTML 链接,但链接文本将是该服务的相关 Font Awesome 图标。

例如:-

echo $this->SocialShare->fa(
    'facebook',
    'http://example.com'
);

将输出:-

<a href="https://#/sharer/sharer.php?u=http%3A%2F%2Fexample.com">
    <i class="fa fa-facebook"></i>
</a>

如果您需要更改 fa() 输出的图标标记,您可以使用 icon_class 覆盖图标类:-

echo $this->SocialShare->fa(
    'facebook',
    null,
    ['icon_class' => 'fa fa-facebook-square']
);