core23/shariff-bundle

This bundle provides a wrapper for using shariff inside the sonata-project.

Installs: 234

Dependents: 0

Suggesters: 1

Security: 0

Stars: 3

Watchers: 1

Forks: 1

Open Issues: 0

Type:symfony-bundle

4.0.0 2019-03-17 16:21 UTC

This package is auto-updated.

Last update: 2020-01-24 20:43:56 UTC


README

Latest Stable Version Latest Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Continuous Integration Code Coverage

This bundle provides a wrapper for using shariff inside the symfony sonata-project.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

composer require core23/shariff-bundle

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    Core23\ShariffBundle\Core23ShariffBundle::class => ['all' => true],
];

Define cache, http client and request factory:

# config/routes/core23_shariff.yaml

framework:
    cache:
        pools:
            cache.shariff:
                adapter: cache.adapter.filesystem

core23_shariff:
    cache: 'cache.shariff'
    http_client: 'some.http.client'         # e.g httplug.client
    request_factory: 'some.request.factory' # e.g. nyholm.psr7.psr17_factory

Assets

It is recommended to use webpack / webpack-encore to include the shariff.js and shariff.css file in your page.

You can use npm or yarn to load the library:

npm install shariff
yarn add shariff

Configure the Bundle

Create a configuration file called core23_shariff.yaml:

# config/routes/core23_shariff.yaml

core23_shariff:
    resource: "@Core23ShariffBundle/Resources/config/routing/backend.yml"

Create a configuration file called framework_cache.yaml:

framework:
    cache:
        pools:
            cache.shariff:
                adapter: cache.adapter.filesystem

Usage

{# template.twig #}

{{ sonata_block_render({ 'type': 'core23_shariff.block.share' }, {
    'url': 'https://example.com/site.html'
}) }}

Configure the Bundle

You can globally configure the services that should count the likes or favorites for a page.

core23_shariff:
    cache: 'cache.shariff'
    http_client: 'some.http.client'
    request_factory: 'some.request.factory'

    options:
        domains: [ ] # Allow specific domains for shariff
        services: [ 'addthis', 'buffer', 'facebook', 'pinterest', 'reddit', 'stumbleupon', 'vk', 'xing' ]

    services:
        facebook:
            app_id:  "1234567890"
            secret:  "GENERATEDSECRET"
            version: "5.0"

This is a fork of shariff-php with a more modern and dynamic solution.

License

This bundle is under the MIT license.