tareqcodex / lazy-cms-rebuild
A reusable WordPress-like admin dashboard package.
Package info
github.com/tareqcodex/lazy-cms-rebuild
Language:Blade
pkg:composer/tareqcodex/lazy-cms-rebuild
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- dev-main
- v5.6.0
- v5.5.0
- v5.4.0
- v5.3.0
- v5.2.9
- v5.2.8
- v5.2.7
- v5.2.6
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- v5.1.9
- v5.1.8
- v5.1.7
- v5.1.6
- v5.1.5
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.9.6
- v3.9.5
- v3.9.4
- v3.9.3
- v3.9.2
- v3.9.1
- v3.9.0
- v3.8.3
- v3.8.2
- v3.8.1
- v3.8.0
- v3.7.0
- v3.6.2
- v3.6.1
- v3.6.0
- v3.5.1
- v3.5.0
- v3.4.0
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.9
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.0
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.5.1
- v1.5.0
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- 1.1.1
- 1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- dev-master
This package is auto-updated.
Last update: 2026-05-13 12:14:22 UTC
README
A powerful, modular, and easy-to-use CMS package for Laravel applications with built-in multi-language support, robust Role-Based Access Control (RBAC), and a WordPress-like theme & hook system.
🚀 Installation
To install the package in a fresh Laravel project:
-
Require the package via Composer:
composer require tareqcodex/lazy-cms-rebuild
-
Run the Automated Installation:
php artisan lazy:install
This command handles migrations, asset publishing, theme distribution, storage linking, and default admin creation.
🛠 Commands Summary
Lazy CMS comes with a set of automated commands to make development easier.
| Command | Description |
|---|---|
php artisan lazy |
Help Menu: Lists all available Lazy CMS commands in CLI. |
php artisan lazy:install |
Full Setup: Migrations, Assets, Themes, User and seeds. |
php artisan lazy:update |
Sync Update: Refreshes assets, themes, and permissions. |
php artisan lazy:seed |
Demo Data: Seeds default menus and initial demo data. |
php artisan make:lazy-page |
Scaffold: Creates a new dashboard page, controller, and menu item. |
🔐 Role-Based Access Control (RBAC)
Version 4.0.0 introduces a granular permission system with several predefined roles:
- Administrator: Full access to all settings, content, and system configurations.
- Editor: Can publish and manage all posts and pages, access media library, and moderate comments.
- Author: Can publish and manage only their own posts.
- Contributor: Can write and manage their own posts but cannot publish them (pending review).
- Subscriber: Access to their own profile and basic dashboard view.
- User: Custom role with access to Posts, Pages, Media, Comments, and Language Tools.
Note: Content ownership is strictly enforced. Authors and Contributors are isolated from other users' content.
🎨 Theme Development & Isolation
📂 Strict Theme Structure
Frontend views MUST be located in resources/views/themes/{theme-name}/.
For security and organization, any view file created directly in the root resources/views/ folder will be blocked from frontend rendering (returns a 404).
🪄 Automated Theme Sync
When you update the package, your themes are automatically refreshed. To ensure this works, add the following to your composer.json scripts:
"post-autoload-dump": [ "@php artisan vendor:publish --tag=lazy-themes --force" ]
🌐 Multi-Language Support
Lazy CMS supports dynamic localization. You can enable or disable multi-language support from the Admin Settings.
- Clean URLs: When multi-language is disabled, URLs are clean (e.g.,
/my-post). - ISO Prefixes: When enabled, URLs include the language code (e.g.,
/en/my-post). - Dynamic Admin UI: The language selection metabox automatically hides when multi-language is disabled.
🛠 Features
- Consolidated Migrations: Optimized database structure.
- Dynamic Post Types (CPT): Create custom post types from the dashboard.
- Advanced Hook System: WordPress-like Action and Filter hooks.
- Headless Mode: Full REST API support for decoupled apps.
- Theme Isolation: High-security frontend view resolution.
⚓ Hook System Examples
Adding a Filter
add_lazy_filter('lazy_general_settings_fields', function($fields) { $fields['my_custom_option'] = ['type' => 'text', 'label' => 'Custom Option']; return $fields; });
Adding an Action
add_lazy_action('lazy_after_post_content', function($post) { echo "<div>Related Content Here</div>"; });
Developed by Tareq Codex