Download the PHP package javaabu/cms without Composer
On this page you can find all versions of the php package javaabu/cms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package cms
Short Description Content Management System integration for Laravel Projects
License MIT
Homepage https://github.com/Javaabu/cms
Informations about the package cms
Javaabu CMS
A flexible and extensible Content Management System package for Laravel applications. Built with support for custom post types, hierarchical categories, and rich content editing with Editor.js.
Features
- 🎯 Custom Post Types: Define unlimited custom post types with configurable features
- 📁 Hierarchical Categories: Nested category support using Nestedset
- ✍️ Rich Content Editor: Integrated Editor.js support for modern content editing
- 🔐 Permission System: Built-in permission management for CMS operations
- 🌐 Multi-language Ready: Translation support for content
- 📱 Responsive Admin: Modern admin interface
- 🔌 Extensible: Easy to extend with custom controllers, views, and policies
- 🚀 Easy Setup: Artisan command for quick installation
Requirements
- PHP ^8.2
- Laravel ^11.0 or ^12.0
- MySQL/PostgreSQL database
Installation
Install the package via Composer:
Run the setup command:
This will:
- Publish the configuration file
- Publish and run migrations
- Optionally install default post types and categories
- Seed CMS permissions
Quick Start with Defaults
To get started quickly with pre-configured post types and categories:
This installs 10 ready-to-use post types (News, Blog, Downloads, Announcements, Publications, Jobs, Galleries, Tenders, Reports, Pages) with their category types and sample categories.
You can customize these defaults in config/cms.php before running setup.
Configuration
After installation, configure your post types in config/cms.php.
You can use either arrays or the fluent API:
Register Routes
Add CMS routes to your routes/web.php:
Usage
Creating Post Types
Post types can be created via:
-
Database Seeder:
- Admin Panel: Navigate to
/admin/post-typesafter setup
Creating Posts
Querying Posts
Working with Categories
Available Post Type Features
categories- Category supportfeatured_image- Featured imageexcerpt- Post excerptdocuments- Document attachmentsimage_gallery- Image galleryvideo_link- Video embed URLdocument_number- Document reference numberexpireable- Expiry dateformat- Post format (standard, video, gallery, etc.)page_style- Custom page stylingref_no- Reference numbergazette_link- Gazette document link
Permissions
The package dynamically creates permissions for each Post Type and Category Type you create. Permissions are based on the slug of the type.
Post Type Permissions
For each Post Type (e.g., 'news'), the following permissions are created:
edit_{slug}- Edit own posts (e.g.,edit_news)edit_others_{slug}- Edit all posts (e.g.,edit_others_news)delete_{slug}- Delete own postsdelete_others_{slug}- Delete all postsview_{slug}- View own postsview_others_{slug}- View all postsforce_delete_{slug}- Force delete own postsforce_delete_others_{slug}- Force delete all postspublish_{slug}- Publish own postspublish_others_{slug}- Publish all postsimport_{slug}- Import posts
Category Type Permissions
For each Category Type (e.g., 'news-categories'), the following permissions are created:
edit_{slug}- Edit categories (e.g.,edit_news_categories)delete_{slug}- Delete categoriesview_{slug}- View categoriesimport_{slug}- Import categories
Seeding Permissions
Seed them using:
Call this after creating your Post Types and Category Types to generate the appropriate permissions.
Frontend Integration
The package provides models and data - implement your own views:
Editor.js Integration
Install the required npm packages:
Or copy dependencies from package.json in the package root.
Frontend Configuration
You must also configure the window.Laravel object in your admin layout. See the Installation and Setup Guide for details.
Testing
Documentation
For detailed documentation, see the docs directory:
- Installation and Setup
- Requirements
- Basic Usage
Contributing
Please see CONTRIBUTING.md for details.
Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.
Credits
- Javaabu
- All Contributors
All versions of cms with dependencies
illuminate/support Version ^9.0 || ^10.0 || ^11.0 || ^12.0
javaabu/helpers Version ^1.61
javaabu/translatable Version ^1.13
javaabu/menu-builder Version ^1.6
kalnoy/nestedset Version ^6.0
javaabu/auth Version ^1.16
diglactic/laravel-breadcrumbs Version ^10.0
lorisleiva/laravel-actions Version ^2.9
javaabu/mediapicker Version ^1.0@dev