webulla/yii2-sharelinks

Yii2 widget for social networks or email sharing

dev-master 2015-04-19 11:32 UTC

This package is not auto-updated.

Last update: 2024-04-17 07:13:37 UTC


README

Widget for posting links to publications on social networks.

Installation

The preferred way to install this extension is through composer.

Either run

$ composer require "webulla/yii2-sharelinks":"*"

Usage

First, you need to connect the widget:

use webulla\sharelinks\ShareLinks;

Then, you can use widget with default configurations for sharing via facebook, twitter, vkontakte and email:

echo ShareLinks::widget([
	'links' => [
		'facebook' => [],
		'twitter' => [],
		'vkontakte' => [],
		'email' => [],
	]
]);

Or, you can override any default settings:

echo ShareLinks::widget([
	// page url (default: Yii::$app->request->absoluteUrl)
	'url' => 'http://yoursite.com/page',

	// page title (default: Yii::$app->view->title)
	'title' => 'Page title',

	// page description
	'body' => 'Page description',

	// links collection
	'links' => [
        // default service
		'facebook' => ['label' => 'Facebook'],

		// custom service in popup window
		'service' => ['label' => 'Share via Service',
		    'url' => 'http://service.com/share?title={title}&body={body}&url={url}'
        ],

		// custom service in new tab
		'service-manual' => ['label' => 'Share via Service',
		    'url' => 'http://service.com/share?title={title}&body={body}&url={url}',
            'options' => [
                'class' => 'share-link-manual',  // disable on click event listening
                'target' => '_blank', // open link in new tab
            ]
        ],
	]
]);

Predefined services:

$services = [
	'twitter' => ['label' => 'Share via twitter'],
	'facebook' => ['label' => 'Share via Facebook'],
	'vkontakte' => ['label' => 'Share via Vkontakte'],
	'gplus' => ['label' => 'Share via Google Plus'],
	'linkedin' => ['label' => 'Share via Linkedin'],
	'kindle' => ['label' => 'Share via Kindle'],
	'email' => ['label' => 'Share via E-mail'],
];