bnomei / kirby3-posthog
Kirby wrapper for Posthog
Installs: 301
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:kirby-plugin
Requires
- php: >=8.1.0
- getkirby/composer-installer: ^1.2
- posthog/posthog-php: ^3.0
README
Kirby 3/4 Plugin for connecting Kirby to Posthog
Install
Using composer:
composer require bnomei/kirby3-posthog
Using git submodules:
git submodule add https://github.com/bnomei/kirby3-posthog.git site/plugins/kirby3-posthog
Using download & copy: download the latest release and copy to site/plugins
Commerical Usage
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
Setup
You can set the apikey and host in the config.
site/config/config.php
return [ // other config settings ... 'bnomei.posthog.apikey' => 'YOUR-KEY-HERE', 'bnomei.posthog.host' => 'YOUR-HOST-HERE', ];
You can also set a callback if you use the dotenv Plugin.
site/config/config.php
return [ // other config settings ... 'bnomei.posthog.apikey' => function() { return env('POSTHOG_APIKEY'); }, 'bnomei.posthog.host' => function() { return env('POSTHOG_HOST'); }, ];
Javascript
Output the tracking Javascript via the snippet included in the plugin.
<?php snippet('posthog'); ?> </body> </html>
Usage
PHP track pageview
site/template/default.php
<?php // track page view event for current kirby user or identified posthog user $page->posthogCapturePageView(); // be careful to not have any whitespace before <html> ><html> <!-- ... ---> </html>
PHP helper function
Use the posthog()
-helper to access Posthog. You can use all methods from the Posthog PHP library.
<?php posthog()->capture([ 'distinctId' => site()->posthogDistinctId(), 'event' => 'movie played', 'properties' => array( 'movieId' => '123', 'category' => 'romcom' ) ])
NOTE: Using the static class from the official posthog docs is not supported.
In addition to the posthog()
-helper this plugin adds the following features to the original library.
- Disabled on localhost by default
- Cache for Feature Flag list - it would otherwise send a http request to your posthog instance every time you access the list. It still will send one for every feature flag check.
Settings
Read more about
apikey
andpersonalapikey
here: https://posthog.com/docs/api
Dependencies
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.