keithbrink / affiliates-spark
An affiliates package for Laravel Spark that allows you to track referrals from affiliates and pay commission
Requires
- laravel/cashier: >=10.0
Requires (Dev)
- illuminate/database: >=5
- mockery/mockery: >=1.2
- orchestra/testbench: >=3.5
- phpunit/phpunit: >=7.4.0
- dev-master
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.x-dev
- 0.2.8
- 0.2.7
- 0.2.6
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- 0
- dev-free_panel_fix
- dev-random_token
This package is auto-updated.
Last update: 2024-11-10 16:26:58 UTC
README
An affiliates package for Laravel Spark that allows you to track referrals from affiliates and pay commission.
Installation
Cashier 10+ / Laravel 6+ is supported in the 1.* releases. To use older versions, use one of the 0.* releases.
To get the latest version, simply require the project using Composer:
$ composer require keithbrink/affiliates-spark
Configuration
- In your User model, add the Affiliate trait:
use KeithBrink\AffiliatesSpark\Traits\Affiliate as AffiliateTrait; class User extends SparkUser { use AffiliateTrait; ... }
- In your SparkServiceProvider, add the following functions to handle adding affiliate IDs to the database:
Spark::createUsersWith('KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration@createUser'); Spark::createTeamsWith('KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration@createTeam');
or, if you want to add extra data to your user registration, use the interaction directly:
use KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration; ... Spark::createUsersWith(function ($request) { $extra_data = [ ... ]; $interaction = new SaveAffiliateOnRegistration; return $interaction->createUser($request, $extra_data); });
- Add a link for affiliates in the menu dropdown. Edit
\resources\views\vendor\spark\nav\user.blade.php
, and under the Developer menu item (line 65), add the following code:
@if (Auth::user()->isAffiliate()) @include('affiliates-spark::nav.affiliate-menu-item') @endif
- Add a link for managing affiliates in the Kiosk menu. Edit your
\resources\views\vendor\spark\kiosk.blade.php
, and under the Metrics Link item (line 30), add the following code:
<!-- Affiliates Link --> @include('affiliates-spark::nav.affiliate-menu-item-kiosk')
and in the same file under Tab Cards, add the following code:
<!-- Affiliates Tab --> @include('affiliates-spark::nav.affiliate-tab-item-kiosk')
- Publish the package javascript with the command:
php artisan vendor:publish --provider="KeithBrink\AffiliatesSpark\AffiliatesSparkServiceProvider" --tag=javascript
. Then, in your/resources/js/app.js
, require the package javascript:
require('./affiliates-spark/bootstrap');
Remember to compile the assets with npm run dev
.
-
Publish the package views with the command:
php artisan vendor:publish --provider="KeithBrink\AffiliatesSpark\AffiliatesSparkServiceProvider" --tag=views
. You should enter instructions for your affiliates in/resources/views/vendor/affiliates-spark/affiliates/instructions.blade.php
. -
Run the package migrations with the command:
php artisan migrate --package "keithbrink/affiliates-spark
.
Optional Configuration
- If you would like your customers to see the discount they are receiving from an affiliate on the subcription page, in your
resources/views/vendor/spark/settings/subscription/subscription-notice.blade.php
file, after the@else
statement (line 9), add:
@include('affiliates-spark::subscription.affiliate-discount')
Usage
- On any page that you would like to credit affiliates for sending people to, add the script:
<script async="" src="/a-s/aff.js"></script>
. You can also add the script to a different subdomain of the same top-level domain by making the src URL absolute rather than relative.
License
SegmentSpark is licensed under The MIT License (MIT).