core23 / matomo-bundle
This bundle provides a block service for using Matomo inside symfony applications.
Fund package maintenance!
core23
Opencollective
Ko-Fi
Other
Installs: 324
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^7.3 || ^8.0
- ext-json: *
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- psr/log: ^1.0
- sonata-project/block-bundle: ^3.21 || ^4.2
- sonata-project/form-extensions: ^1.1
- symfony/config: ^4.2 || ^5.0
- symfony/dependency-injection: ^4.2 || ^5.0
- symfony/expression-language: ^4.2 || ^5.0
- symfony/form: ^4.2 || ^5.0
- symfony/framework-bundle: ^4.2 || ^5.0
- symfony/http-foundation: ^4.2 || ^5.0
- symfony/http-kernel: ^4.2 || ^5.0
- symfony/options-resolver: ^4.2 || ^5.0
- symfony/twig-bundle: ^4.2 || ^5.0
- twig/extra-bundle: ^2.0 || ^3.0
- twig/intl-extra: ^2.12 || ^3.0
- twig/twig: ^2.4 || ^3.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.3
- ergebnis/composer-normalize: ^2.0.1
- nyholm/psr7: ^1.0
- symfony/browser-kit: ^4.4 || ^5.0
- symfony/http-client: ^4.4 || ^5.0
Suggests
- symfony/http-client: Symfony HTTP client implementation
README
This bundle provides a wrapper for using the matomo (Piwik) statistic 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 nucleos/matomo-bundle
# To define a default http client and message factory
composer require symfony/http-client nyholm/psr7
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 [ // ... Nucleos\MatomoBundle\NucleosMatomoBundle::class => ['all' => true], ];
Assets
It is recommended to use webpack / webpack-encore
to include the MatomoTable.js
file in your page. These file is located in the assets
folder.
You can use npm or yarn to load the library:
Usage
Define a http client in your configuration.
# config/packages/nucleos_matomo.yaml nucleos_matomo: http: client: 'httplug.client' message_factory: 'nyholm.psr7.psr17_factory'
Render tracking code
{{ sonata_block_render({ 'type': 'nucleos_matomo.block.tracker' }, { 'host': 'http://matomo.example.com', 'site': 1 }) }}
Render statistic graph
{{ sonata_block_render({ 'type': 'nucleos_matomo.block.statistic' }, { 'host': 'http://matomo.example.com', 'site': 1, 'token': 'MATOMO_API_TOKEN' }) }}
License
This bundle is under the MIT license.