northlab / thememanager
WordPress-like theme management system for Laravel
v0.1
2025-09-09 16:08 UTC
Requires
- php: ^8.2
- filament/filament: ^4.0
- illuminate/filesystem: ^10.0|^11.0|^12.0
- laravel/framework: ^10.0|^11.0|^12.0
- spatie/laravel-package-tools: ^1.9
README
Laravel Tema Yönetim Sistemi (Filament v4)
Kurulum
Package'ı ana Laravel projenizde kullanmak için:
- Package'ı yükleyin:
composer require northlab/thememanager
- Migration'ları çalıştırın:
php artisan migrate
- Filament panel'inize resource'u ekleyin (
app/Providers/Filament/AdminPanelProvider.php
):
use NorthLab\ThemeManager\Filament\Resources\ThemeResource; public function panel(Panel $panel): Panel { return $panel ->resources([ ThemeResource::class, ]); }
Tema Yapısı
Bir tema şu yapıya sahip olmalıdır:
theme-name/
├── theme.json # Tema bilgileri (zorunlu)
├── screenshot.png # Tema önizlemesi (isteğe bağlı)
├── views/ # Blade template dosyaları
│ ├── layouts/
│ ├── components/
│ └── pages/
└── assets/ # CSS, JS, resim dosyaları
├── css/
├── js/
└── images/
theme.json Örneği
{ "name": "Tema Adı", "slug": "benim-temam", "description": "Tema Açıklaması", "version": "1.0.0", "author": "Geliştiricinin Adı", "screenshot": "screenshot.png" }
Kullanım
Helper Fonksiyonları
// Aktif tema bilgisi $theme = current_theme(); // Tema asset'i $cssUrl = theme_asset('css/style.css'); // Tema konfigürasyonu $config = theme_config('colors.primary');
Blade Template'lerde
{{-- Tema asset'i kullanma --}} <link rel="stylesheet" href="{{ theme_asset('css/style.css') }}"> {{-- Aktif tema bilgisi --}} @if($activeTheme) <p>Aktif tema: {{ $activeTheme->name }}</p> @endif
Middleware Kullanımı
Web route'larınızda tema middleware'ini kullanın:
Route::group(['middleware' => 'theme'], function () { Route::get('/', [HomeController::class, 'index']); // Diğer route'lar... });
Artisan Komutları
# Tema yükleme
php artisan theme:install /path/to/theme.zip
Filament Admin Panel
Package, Filament v4.0 ile uyumlu bir admin paneli sağlar:
- Tema yükleme (ZIP dosyası ile)
- Tema etkinleştirme/devre dışı bırakma
- Tema bilgilerini görüntüleme
- Tema silme
Admin panelinde "Temalar" menüsünden tüm işlemleri yapabilirsiniz.