misaf / vendra-custom-page
Dynamic page management system with CMS capabilities
Package info
github.com/misaf/vendra-custom-page
Type:vendra-module
pkg:composer/misaf/vendra-custom-page
Requires
- php: ^8.4
- awcodes/filament-badgeable-column: ^4.0
- lara-zeus/spatie-translatable: ^2.0.1
- misaf/filament-jalali: ^5.1.4
- misaf/vendra-multimedia: v1.12.3
- misaf/vendra-support: v1.12.3
- spatie/eloquent-sortable: ^5.0.1
- spatie/laravel-package-tools: ^1.93.1
- spatie/laravel-sluggable: ^4.0.2
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Tenant-aware custom page management for Vendra applications.
Features
- Custom page categories
- Custom pages with translatable content
- Filament resources on the
adminpanel
Requirements
- PHP 8.4+
- Laravel 13
- Filament 5
- Livewire 4
- Pest 4
- Tailwind CSS 4
misaf/vendra-multimediamisaf/vendra-support
Installation
composer require misaf/vendra-custom-page php artisan vendor:publish --tag=vendra-custom-page-migrations php artisan migrate
Optional translations publish:
php artisan vendor:publish --tag=vendra-custom-page-translations
The service provider and Filament plugin are auto-registered.
Usage
Create a page category:
use Misaf\VendraCustomPage\Models\CustomPageCategory; $category = CustomPageCategory::query()->create([ 'name' => ['en' => 'Company'], 'description' => ['en' => 'Company pages'], 'slug' => ['en' => 'company'], 'position' => 1, 'active' => true, ]);
Create a custom page:
use Misaf\VendraCustomPage\Models\CustomPage; CustomPage::query()->create([ 'custom_page_category_id' => $category->id, 'name' => ['en' => 'About Us'], 'description' => ['en' => 'About our company'], 'slug' => ['en' => 'about-us'], 'position' => 1, 'active' => true, ]);
Load pages with their category:
$pages = CustomPage::query() ->with('customPageCategory') ->where('active', true) ->get();
Filament
Resources are available in the shared Content cluster on the admin panel:
- Custom Page Categories
- Custom Pages
Demo seeders use bundled JSON fixtures in production and when their declared factory classes are unavailable. Local monorepo development continues to use factories when they are autoloadable.
Testing
Run the package checks from the project root:
php artisan test --compact --testsuite=vendra-custom-page
composer stan
License
MIT. See LICENSE.