madeyourday/contao-rocksolid-icon-picker
Contao extension providing the RockSolid Icon Picker. Install via Composer and add an icon selection field to your Contao backend/forms for use in custom content elements and other configurations. Includes English and German docs.
tl_content fields, DCA hooks). The backend WOFF2 loading suggests deeper Contao integration, increasing abstraction complexity for Laravel.public/ or Vite pipeline.tl_content schema remains a barrier for pure Laravel adoption.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Contao Dependency | High | Abstract DCA logic via facades or event listeners; avoid tight coupling. |
| Backend Asset Loading | Medium | For Laravel, extract WOFF2 assets and rewrite backend font logic in Alpine.js/Vue or Livewire. |
| Backend Integration | High | Use Laravel’s service providers to proxy Contao-specific calls (e.g., TL_Config). |
| Testing Overhead | Medium | Mock Contao services in Laravel’s testing environment; test backend font loading in isolation. |
| Maintenance Burden | Medium | Monitor Contao updates; backport critical fixes to Laravel adapters. |
tl_content; Laravel needs a migration/model to replicate this.| Laravel Component | Compatibility Notes |
|---|---|
| Composer | ✅ Direct composer require works; no conflicts expected. |
| Blade/Templating | ⚠️ Icon rendering logic can be adapted, but backend WOFF2 requires Contao or custom JS. |
| Service Container | ✅ Bind Contao’s TL_* classes to Laravel’s container (e.g., TL_Config). |
| Asset Pipeline | ✅ WOFF2 fonts can be published via mix.copy() or Vite; backend WOFF2 needs custom JS if not using Contao. |
| Admin Panels | ❌ No native support; requires Filament/Nova customization or Contao backend embedding. |
| Database | ⚠️ Contao’s tl_content schema must be mirrored or replaced with Laravel models (e.g., IconField). |
| Routing | ✅ Contao’s backend routes can be proxied or replaced with Laravel’s web routes. |
Phase 1: Asset Extraction (Low Risk)
public/ or Vite assets.@font-face or Vite’s @import.Phase 2: Backend Integration (High Risk)
Phase 3: Data Layer Sync
tl_content fields to Laravel’s migrations/models.// Contao: tl_content.icon_picker = "user"
// Laravel: $post->icon = "user"; // Stored in `posts` table
| Contao Feature | Laravel Workaround |
|---|---|
| DCA Field Types | Replace with Laravel’s Form Request validation + custom HTML/JS. |
| Backend Modules | Use Laravel’s Middleware or Service Providers to proxy Contao logic. |
TL_Config |
Bind to Laravel’s config() or environment variables. |
| Dark Mode Support | Extend Laravel’s CSS variables or use a package like laravel-dark-mode. |
| Backend WOFF2 Loading | Rewrite in Livewire/Alpine.js or embed Contao’s backend. |
| Save Mode Hacks | Replace with Laravel’s Form Request or Model observers. |
| Task | Contao Package | Laravel Adaptation | Notes |
|---|---|---|---|
| Updates | ✅ Easy (Composer) | ⚠️ Manual (if forked) or semi-automated | Contao updates may break Laravel adapters; backend WOFF2 adds another Contao dependency. |
| Bug Fixes | ✅ Community-driven | ❌ Depends on custom codebase | Critical fixes must be backported; backend WOFF2 may introduce new edge cases. |
| Deprecations | ⚠️ Contao roadmap | ❌ High risk if Contao drops support | E.g., Symfony |
How can I help you explore Laravel packages today?