PHP code example of kenepa / banner

1. Go to this page and download the library: Download kenepa/banner library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kenepa / banner example snippets


    use Kenepa\Banner\BannerPlugin;
    use Filament\Panel;
    
    public function panel(Panel $panel): Panel
    {
    return $panel
           // ...
         ->plugins([
            BannerPlugin::make()
         ]);
    }
    

    use Kenepa\Banner\BannerPlugin;
    use Filament\Panel;
     
    public function panel(Panel $panel): Panel
    {
    return $panel
    // ...
    ->plugins([
        BannerPlugin::make()
            ->persistsBannersInDatabase()
    ]);
    }
     

$bannerData = new BannerData(
    id: 'banner_123',
    name: 'Promotional Banner',
    content: 'Check out our latest sale!',
    is_active: true,
    active_since: '2024-06-01',
    icon: 'heroicon-m-wrench',
    background_type: 'gradient',
    start_color: '#FF6B6B',
    end_color: '#FFD97D',
    start_time: '09:00',
    end_time: '18:00',
    can_be_closed_by_user: true,
    text_color: '#333333',
    icon_color: '#FFFFFF',
    render_location: 'header',
    scope: []
); 

use Kenepa\Banner\Facades\BannerManager;

BannerManager::store($bannerData);

use Kenepa\Banner\Facades\BannerManager;

$banners = BannerManager::getAll();

use Kenepa\Banner\Facades\BannerManager;

BannerManager::delete('banner_id_123');

use Kenepa\Banner\Facades\BannerManager;

$updatedBannerData = \Kenepa\Banner\ValueObjects\BannerData::fromArray([
    // ID must be the same
    'id' => 'banner_id',
    'name' => 'updated title'
    // ... all other properties of the banner 
]);

BannerManager::update($updatedBannerData);

BannerPlugin::make()
    ->title('My Banner Manager')
    ->subheading('Manage your website banners');

BannerPlugin::make()
    ->navigationIcon('heroicon-o-megaphone')
    ->navigationLabel('Banners')
    ->navigationGroup('Marketing')
    ->navigationSort(1);

BannerPlugin::make()
    ->disableBannerManager()

BannerPlugin::make()
    ->bannerManagerAccessPermission('banner-manager')

// app/Providers/AppServiceProvider.php

   public function boot()
    {
        Gate::define('banner-manager', function (User $user) {
           return $user->email === '[email protected]';
        });
    }


$permission = Permission::create(['name' => 'banner-manager'])
auth()->user()->givePermissionTo($permission)
js
     content: [
           ...
           './vendor/kenepa/banner/resources/**/*.php',
       ]
   

   php artisan filament:upgrade
   
bash
    php artisan vendor:publish --tag="banner-migrations"
    php artisan migrate
    
bash
php artisan vendor:publish --tag="banner-views"