drmonkeyninja / cakephp-social-share
CakePHP 的辅助工具,用于创建社交分享/书签链接
Requires
- cakephp/cakephp: ~4.0
- drmonkeyninja/social-share-url: ^1.0
This package is auto-updated.
Last update: 2024-09-06 17:51:08 UTC
README
此插件提供 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
- evernote
- friendfeed
- google (Google Bookmarks)
- gplus (Google+)
- newsvine
- slashdot
- stumbleupon
- technorati
- tumblr
您可以将 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'] );