Install SocialLinks using Composer
composer require rezozero/social-links
Configure your SocialLinks
instance with your data source and some
output settings.
// Construct a new SocialLinks
$share = new \RZ\SocialLinks\SocialLinks(array(
'url' => 'http://www.rezo-zero.com',
'title' => 'REZO ZERO website homepage',
// Optional image source url for pinterest
'imageUrl' => 'http://www.rezo-zero.com/templates/rezo-zero/img/apple-icon.png',
// Optional status for overriding title for twitter, whatsapp and emails body
'status' => 'Hey! Look at this awesome website.'
));
// Set link class prefix
$share->setClassPrefix('social-link');
// Set social icons class prefix
// Use fa for Font Awesome or an
// other for a custom icon set.
$share->setIconPrefix('fa');
// Optional:
// Set link additional classes, for example
// to add "btn" bootstrap classes.
$share->setLinkClasses('btn btn-default');
echo $share->getUrl('twitter');
// https://twitter.com/intent/tweet?text=Hey%21%20Look%20at%20this%20awesome%20website.%20%E2%80%94%20http%3A%2F%2Fwww.rezo-zero.com
$share->setClassPrefix('social-link');
$share->setIconPrefix('fa');
echo $share->getLink('facebook', $share->getIcon('facebook'));
// <a class="social-link social-link-facebook" target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.rezo-zero.com"><i class="social-link-icon fa fa-facebook"></i><span class="social-link-name">Facebook</span></a>
$share->setClassPrefix('social-link');
$share->setIconPrefix('fa');
echo $share->getLink('facebook', $share->getUseSVG('facebook'));
// <a class="social-link social-link-facebook" target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.rezo-zero.com"><svg class="social-link-icon fa fa-facebook"><use xlink:href="#fa-facebook"></use></svg><span class="social-link-name">Facebook</span></a>
Without icons:
echo $share->getLinks(array('facebook', 'twitter', 'linked-in'));
With <i>
icons:
echo $share->getLinksWithIcon(array('facebook', 'twitter', 'linked-in'));
With <svg>
icons:
echo $share->getLinksWithSVG(array('facebook', 'twitter', 'linked-in'));
You also can choose a not empty separator, i.e. a dash:
echo $share->getLinksWithIcon(array('facebook', 'twitter', 'linked-in'), ' - ');
- delicious
- digg
- evernote
- facebook (sharer by default, or /dialog/feed if you provide a
facebookAppId
) - friendfeed
- google-plus
- linked-in
- newsvine
- scoop-it
- slashdot
- stumbleupon
- tumblr
$twig->addExtension(new \RZ\SocialLinks\Twig\SocialLinksExtension());
SocialLinksExtension
Twig extension introduces 3 new filters to be able
to generate your social links without any PHP code.
social_links
icon_social_links
svg_social_links
First you’ll need to gather your social data in an associative array or
simply set
a string variable (it will be used as the URL).
{% set social_data = {
'url': 'http://www.rezo-zero.com',
'title': 'REZO ZERO website homepage',
} %}
{# or #}
{% set social_data = 'http://www.rezo-zero.com' %}
Then, you can use one of the 3 SocialLinks filters with or without optional arguments. Selected networks can be set using an array or a simple string.
<nav class="social-links">
{{ social_data|social_links(['facebook', 'twitter']) }}
</nav>
<nav class="social-links">
{{ social_data|social_links('twitter') }}
</nav>
<nav class="social-links">
{{ social_data|icon_social_links(['facebook', 'twitter'], 'icon-prefix', 'class-prefix', 'link-classes') }}
</nav>